Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 加载共享库时出错:即使使用LD_LIBRARY_PATH并更改$PATH,也没有这样的文件或目录_C++_Linux_Dll_Ubuntu 16.04_Codelite - Fatal编程技术网

C++ 加载共享库时出错:即使使用LD_LIBRARY_PATH并更改$PATH,也没有这样的文件或目录

C++ 加载共享库时出错:即使使用LD_LIBRARY_PATH并更改$PATH,也没有这样的文件或目录,c++,linux,dll,ubuntu-16.04,codelite,C++,Linux,Dll,Ubuntu 16.04,Codelite,我不熟悉Linux环境。我试着在CordelToT上运行我的C++文件,它给了我一个不会出错的错误。 我有一个我的大华SDK的DLL文件夹。它包含共享的.so库。我从过去两天开始出现此错误,无法运行我的项目 ./Dahuatest1:加载共享库时出错:libdhnetsdk.so:无法打开共享对象文件:没有这样的文件或目录 我已经试过了: LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/tarak/Documents/General_NetSDK_Eng_Linux

我不熟悉Linux环境。我试着在CordelToT上运行我的C++文件,它给了我一个不会出错的错误。 我有一个我的大华SDK的DLL文件夹。它包含共享的.so库。我从过去两天开始出现此错误,无法运行我的项目

./Dahuatest1:加载共享库时出错:libdhnetsdk.so:无法打开共享对象文件:没有这样的文件或目录

我已经试过了:

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

导出LD_库路径

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文件夹

以下是我的文件夹的屏幕截图:

试试看

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文件移动(或更好地进行符号链接)到一个目录,系统会在该目录中自动查找共享库(例如/usr/local/lib)

bash:./Dahuatest1:没有这样的文件或目录。/Dahuatest1-是可执行文件的路径。我是从你的问题中得到的。只需将其修改为正确的路径。同样,在LD_LIBRARY_path=@PhantomLord I之后放置“dll”文件夹的正确路径,并通过在环境设置中设置LD_LIBRARY_path临时解决了该问题。CodeLite可以按预期运行可执行文件。然而,若我在命令行中运行可执行文件,它将失败。我制作了一个.sh文件,设置LD_LIBRARY_路径,然后启动可执行文件。然而,我更愿意只编译将搜索的可执行文件。所以相对于可执行文件路径的路径中的文件。有办法吗?