linux编译出现执行文件找不到相应的so问题

编译rtmpdump和librtmp之后提示rtmpdump找不到librtmp, 很纳闷,建立软连接不行,把库库拷贝到执行程序的目录也找不到,加环境变量也不行。

解决方法一、把库直接拷贝到/usr/lib/ 下面去,简单暴力。

解决方法二、在 /etc/ld.so.conf.d/下面添加xxx.conf文件,里面添加你的依赖库所在的目录。

解决方法三、在编译的时候指定查找目录,通过编译选项-Wl, -rpath指定动态搜索的路径-Wl选项告诉编译器将后面的参数传递给链接器。如下:

LDFLAGS += -L/./thirdpart/libs/lib/ -L./thirdpart/cJSON/ -Wl,-rpath=./thirdpart/libs/lib -Wl,-rpath=./thirdpart/cJSON/

你可能感兴趣的:(C++)