解决/usr/lib/ld: cannot find -libxxx 方法
编译程序时,会出现/usr/bin/ld: warning: XXXX, needed by XXXX, not found (try using -rpath or -rpath-link)问题
一般这种情况下。先命令查看一下系统中是否存在xxx库而ld程序未找到(以libxxxto.so.1.0.0为例):
$ ld -libxxxto.so.1.0.0 --verbose
如果未找到,会直接报错

上图未找到相应的库,如果自己知道是独立的库或者已导入这种情况下,
可以通过设置环境变量
1、方法一,将XXXX库的路径加到LD_LIBRARY_PATH环境变量中,
setenv LD_LIBRARY_PATH /XX/XXX/XX/:$LD_LIBRARY_PATH
XXX代表库的绝对路径
2、方法二,加编译器选项进行编译:
gcc -L/XXX/XXX -XXXX
前面是路径,后面是库的名称
3、方法三,加动态链接选项:
运行,之后再编译
1.cd /usr/lib64/
2. root 用户 ln -s /XXX/XXXX/libxxxto.so.1.0.0 libxxxto.so.1.0.0
3. root 用户 ldconfig
欢迎大家补充其他的方法……
当编译程序遇到/usr/bin/ld:warning:XXXX,neededbyXXXX,notfound警告时,可以检查系统中是否存在所需库。方法包括:1)添加库路径到LD_LIBRARY_PATH环境变量;2)使用GCC的-L选项指定库路径;3)创建软链接到/usr/lib64/并运行ldconfig。这些方法能帮助解决找不到库的问题。





