"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