C++ 未找到共享对象,但该对象存在于链接器目录中
我已从源代码下载并构建boost_1_68_0,并收到以下消息:C++ 未找到共享对象,但该对象存在于链接器目录中,c++,linux,boost,C++,Linux,Boost,我已从源代码下载并构建boost_1_68_0,并收到以下消息: 成功构建了Boost C++库! 应将以下目录添加到编译器包含路径: /resources/boost_1_68_0 应将以下目录添加到链接器库路径: /resources/boost_1_68_0/stage/lib 代码可以通过以下方式编译: g++-4.9 -std=c++11 -I /resources/boost_1_68_0 -L /resources/boost_1_68_0/stage/lib regex
成功构建了Boost C++库! 应将以下目录添加到编译器包含路径:
/resources/boost_1_68_0
应将以下目录添加到链接器库路径:
/resources/boost_1_68_0/stage/lib
代码可以通过以下方式编译:
g++-4.9 -std=c++11 -I /resources/boost_1_68_0 -L /resources/boost_1_68_0/stage/lib regex.cpp -lboost_regex -o reg
当我尝试运行代码时,我得到以下信息:
./reg:加载共享库时出错:libboost_regex.so.1.68.0:
无法打开共享对象文件:没有此类文件或目录
但是,在/resources/boost_1_68_0/stage/lib中,我确实有以下文件:
libboost_regex.so.1.68.0
libboost_regex.so -> libboost_regex.so.1.68.0
有没有办法让它在/resources/boost\u 1\u 68\u 0/stage/lib目录中查找共享对象
谢谢大家!
使用CentOS 7时,您必须将
/resources/boost\u 1\u 68\u 0/stage/lib
放入LD\u LIBRARY\u路径
:
export LD_LIBRARY_PATH=/resources/boost_1_68_0/stage/lib:${LD_LIBRARY_PATH}
假设您在计算机上具有root访问权限,请尝试:
echo "/resources/boost_1_68_0/stage/lib" >> /etc/ld.so.conf.d/boost.conf
然后重新运行
ldconfig
您使用的是哪个发行版?@tink现在是CentOS7