error while loading shared libraries

调试log4cplus示例时,运行时找不到库

log4/log4cpp$ g++ main.cpp -o test -llog4cplus -L/usr/local/lib
log4/log4cpp$ ./test 
./test: error while loading shared libraries: liblog4cplus-2.0.so.3: cannot open shared object file: No such file or directory

首先确保库存在

log4/log4cpp$ whereis liblog4cplus-2.0.so.3
liblog4cplus-2.0.so: /usr/local/lib/liblog4cplus-2.0.so.3
方法一:在终端设置库链接路径

缺点:只能在此终端有效,开另一个终端LD_LIBRARY_PATH又恢复原来的值

log4/log4cpp$ export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
log4/log4cpp$ echo $LD_LIBRARY_PATH
/usr/local/lib:
log4/log4cpp$ ./test 
WARN - Hello, World!
方法二:修改/etc/ld.so.conf文件

将/usr/local/lib添加在etc/ld.so.conf 后面

优点:后续的终端都有效

log4/log4cpp$ ./test 
./test: error while loading shared libraries: liblog4cplus-2.0.so.3: cannot open shared object file: No such file or directory
log4/log4cpp$ sudo vi /etc/ld.so.conf
修改为 include /etc/ld.so.conf.d/*.conf /usr/local/lib
log4/log4cpp$ sudo ldconfig
log4/log4cpp$ ./test 
WARN - Hello, World!
方法三:在QtCreator工程文件中修改

添加下面语句

LIBS    += -llog4cplus -L/usr/local/lib/

error while loading shared libraries_第1张图片

再ctrl+B 编译,F5运行 

error while loading shared libraries_第2张图片

你可能感兴趣的:(C++,linux,linux,运维,服务器)