linux 查看程序运行找不到库的问题(设置环境变量)
参考链接
ubuntu添加环境变量的四种方法
ubuntu系统添加环境变量3种方法
例子
我现在有一个程序/home/zgq/Code/test,先查看所需的库
ldd /home/zgq/Code/test
输出如下
linux-vdso.so.1 (0x00007fff03970000)
libhcnetsdk.so => not found
libopencv_videoio.so.3.4 => /usr/local/lib/libopencv_videoio.so.3.4 (0x00007fc0cf924000)
libopencv_imgcodecs.so.3.4 => /usr/local/lib/libopencv_imgcodecs.so.3.4 (0x00007fc0cf476000)
libopencv_core.so.3.4 => /usr/local/lib/libopencv_core.so.3.4 (0x00007fc0cee7b000)
libtianan.so => not found
libQt5Gui.so.5 => /opt/Qt5.12.5/5.12.5/gcc_64/lib/libQt5Gui.so.5 (0x00007fc0ce62e000)
libQt5WebSockets.so.5 => /opt/Qt5.12.5/5.12.5/gcc_64/lib/libQt5WebSockets.so.5 (0x00007fc0ce401000)
libQt5Network.so.5 => /opt/Qt5.12.5/5.12.5/gcc_64/lib/libQt5Network.so.5 (0x00007fc0ce05a000)
libQt5Test.so.5 => /opt/Qt5.12.5/5.12.5/gcc_64/lib/libQt5Test.so.5 (0x00007fc0cde0b000)
libQt5SerialPort.so.5 => /opt/Qt5.12.5/5.12.5/gcc_64/lib/libQt5SerialPort.so.5 (0x00007fc0cdbf2000)
输出报libhcnetsdk.so、libtianan.so库都找不到,但实际上我的文件夹/home/zgq/Code中是有的
将程序目录添加到环境变量
# 修改以下文件
sudo vim /etc/profile
# 在最后添加下面这句,保存退出
export LD_LIBRARY_PATH=/home/zgq/Code/RailRobotsControl_Release:$LD_LIBRARY_PATH
# 最后命令行执行生效指令
source /etc/profile
重启系统
再次查看所需的库
ldd /home/zgq/Code/test
输出如下
linux-vdso.so.1 (0x00007ffe61444000)
libhcnetsdk.so => /home/zgq/Code/RailRobotsControl_Release/libhcnetsdk.so (0x00007f827d4e9000)
libtianan.so => /home/zgq/Code/RailRobotsControl_Release/libtianan.so (0x00007f827bfe8000)
libopencv_videoio.so.3.4 => /usr/local/lib/libopencv_videoio.so.3.4 (0x00007f827bd90000)
libopencv_imgcodecs.so.3.4 => /usr/local/lib/libopencv_imgcodecs.so.3.4 (0x00007f827b8e2000)
libopencv_core.so.3.4 => /usr/local/lib/libopencv_core.so.3.4 (0x00007f827b2e7000)
libQt5Gui.so.5 => /opt/Qt5.12.5/5.12.5/gcc_64/lib/libQt5Gui.so.5 (0x00007f827aa9a000)
libQt5WebSockets.so.5 => /opt/Qt5.12.5/5.12.5/gcc_64/lib/libQt5WebSockets.so.5 (0x00007f827a86d000)
libQt5Network.so.5 => /opt/Qt5.12.5/5.12.5/gcc_64/lib/libQt5Network.so.5 (0x00007f827a4c6000)
libQt5Test.so.5 => /opt/Qt5.12.5/5.12.5/gcc_64/lib/libQt5Test.so.5 (0x00007f827a277000)
libQt5SerialPort.so.5 => /opt/Qt5.12.5/5.12.5/gcc_64/lib/libQt5SerialPort.so.5 (0x00007f827a05e000)
libQt5Core.so.5 => /opt/Qt5.12.5/5.12.5/gcc_64/lib/libQt5Core.so.5 (0x00007f82798c5000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f827953c000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f8279324000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8278f33000)
libhpr.so => /home/zgq/Code/RailRobotsControl_Release/libhpr.so (0x00007f82785c5000)
libHCCore.so => /home/zgq/Code/RailRobotsControl_Release/libHCCore.so (0x00007f8277cc8000)