我是 Linux 环境的新手。我正在尝试在 Codelite 上运行我的 C++ 文件,它给我的错误是不会发生的。 我有一个大华 SDK 的 DLL 文件夹。它包含共享的 .so 库。我自最近 2 天以来一直收到此错误,无法运行我的项目!
./Dahuatest1: error while loading shared libraries: libdhnetsdk.so: cannot open shared object file: No such file or directory
我已经试过了:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/tarak/Documents/General_NetSDK_Eng_Linux64_IS_V3.48.1.R.170623/NetSDK_Eng_Bin/Demo_Src/DLL
export LD_LIBRARY_PATH
ldconfig
其中还包括我的 DLL 文件夹。但是仍然得到同样的错误。
我还尝试将路径更改为 ~/.bashrc 中的文件夹:
export $PATH=$PATH:/home/tarak/Documents/General_NetSDK_Eng_Linux64_IS_V3.48.1.R.170623/NetSDK_Eng_Bin/Demo_Src/DLL
这也失败了!
我应该怎么做才能得到输出??
在 codelite 中,我将链接器搜索路径设置为我的 DLL 文件夹。 编译器“包含路径”也作为我的 DLL 文件夹
这是我的文件夹的截图: Project file
最佳答案
尝试
export LD_LIBRARY_PATH=/home/tarak/Documents/General_NetSDK_Eng_Linux64_IS_V3.48.1.R.170623/NetSDK_Eng_Bin/Demo_Src/DLL && ./Dahuatest1
同时,尝试将 *.so 文件移动(或更好地符号链接(symbolic link))到系统自动查找共享库的目录(例如/usr/local/lib)
关于c++ - 加载共享库时出错 : No such file or directory even after using LD_LIBRARY_PATH and changing $PATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47673670/