"Error while loading shared libraries" 链接 boost 库时引发,除了我不能使用 root 访问来修复它
"Error while loading shared libraries" raised when linking boost library, except I cannot use root access to fix it
我正在尝试 运行 我学校的超级计算机上的一些代码,运行正在 Ubuntu 上运行。
该代码恰好需要 boost.
中的计时器库
所以我上传了boost 1.71.0版本库,构建成功。
然后我用下面的命令构建了它(成功)
g++ -g src/foo.cpp -o run/foo -I ../boost_1_71_0/ -L ../boost_1_71_0/stage/lib/ -lboost_timer -fopenmp -std=c+ +11
然后当我尝试 运行 文件时,会发生这种情况:
加载共享库时出错:libboost_timer.so.1.71.0:无法打开共享对象文件:没有这样的文件或目录
我浏览了几个论坛讨论,显然 运行宁以下命令应该更新库路径并修复所有问题:
须藤 /sbin/ldconfig -v
但是因为我没有 root 访问权限,所以我不能 运行 它。
我正在寻找不涉及任何 sudoing 的解决方法。
您可以通过确保 ../boost_1_71_0/stage/lib/
在 LD_LIBRARY_PATH
中来 [=16=] 您的程序,这样动态加载程序就知道在哪里搜索 Boost 共享库。 运行 你的程序如下,假设 Boost 库位于 ../boost_1_71_0/stage/lib/
相对于你的程序在磁盘上的目录。
LD_LIBRARY_PATH=../boost_1_71_0/stage/lib/ ./program
我正在尝试 运行 我学校的超级计算机上的一些代码,运行正在 Ubuntu 上运行。 该代码恰好需要 boost.
中的计时器库所以我上传了boost 1.71.0版本库,构建成功。
然后我用下面的命令构建了它(成功) g++ -g src/foo.cpp -o run/foo -I ../boost_1_71_0/ -L ../boost_1_71_0/stage/lib/ -lboost_timer -fopenmp -std=c+ +11
然后当我尝试 运行 文件时,会发生这种情况: 加载共享库时出错:libboost_timer.so.1.71.0:无法打开共享对象文件:没有这样的文件或目录
我浏览了几个论坛讨论,显然 运行宁以下命令应该更新库路径并修复所有问题: 须藤 /sbin/ldconfig -v 但是因为我没有 root 访问权限,所以我不能 运行 它。 我正在寻找不涉及任何 sudoing 的解决方法。
您可以通过确保 ../boost_1_71_0/stage/lib/
在 LD_LIBRARY_PATH
中来 [=16=] 您的程序,这样动态加载程序就知道在哪里搜索 Boost 共享库。 运行 你的程序如下,假设 Boost 库位于 ../boost_1_71_0/stage/lib/
相对于你的程序在磁盘上的目录。
LD_LIBRARY_PATH=../boost_1_71_0/stage/lib/ ./program