/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /home/ml/myproject/test/lib/libgtest.so when searching for -lgtest
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /home/ml/myproject/test/lib/libgtest.a when searching for -lgtest
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/bin/ld: cannot find -lgtest
我的lib文件家下确定有libgtest.a这个文件。
linux下编译时为什么老报这样的错
答案:5 悬赏:50 手机版
解决时间 2021-02-24 15:34
- 提问者网友:遁入空寂
- 2021-02-24 10:29
最佳答案
- 五星知识达人网友:末日狂欢
- 2021-02-24 11:28
在编译时指定库在哪
如果你在lib文件下编译,应该加上: -L.
-L DIRECTORY 寻找要链接的库文件时搜索的文件路径
如:
gcc -o main main.c -lgtest -L.
运行在编译时使用了动态库的程序:
LD_LIBRARY_PATH 可以用于指定额外的加载库的位置
$export LD_LIBRARY_PATH=.:$LD_LIBRARY_PA
$./main
在搜索了该变量指定的位置后,/usr/lib、/lib以及/etc/ld.so.conf里指定的路径也是运行时搜索库的位置
如果你在lib文件下编译,应该加上: -L.
-L DIRECTORY 寻找要链接的库文件时搜索的文件路径
如:
gcc -o main main.c -lgtest -L.
运行在编译时使用了动态库的程序:
LD_LIBRARY_PATH 可以用于指定额外的加载库的位置
$export LD_LIBRARY_PATH=.:$LD_LIBRARY_PA
$./main
在搜索了该变量指定的位置后,/usr/lib、/lib以及/etc/ld.so.conf里指定的路径也是运行时搜索库的位置
全部回答
- 1楼网友:上分大魔王
- 2021-02-24 15:07
首先确定是否安装了内核包,安装之后要重新启动。
安装:#yum install -y kernel kernel-devel
重新启动:#reboot
应该就可以了,不行可以追问
- 2楼网友:渊鱼
- 2021-02-24 14:31
搜索到的库文件不兼容,更新搜索路径或用兼容的库文件替代原库文件,
- 3楼网友:十年萤火照君眠
- 2021-02-24 13:03
权限不够吧,su一下
- 4楼网友:不想翻身的咸鱼
- 2021-02-24 12:48
如果确定源码没问题,那就是编译器和操作系统的问题了
换成32位的中文版linux试试看
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯