gpt4 book ai didi

c++ - 使用 boost 时出现问题,无法打开共享对象文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:51:40 26 4
gpt4 key购买 nike

所以我正在尝试编译并运行一个简单的 boost 计时器程序

#include <iostream>
#include <boost/asio.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>


int main() {
using namespace boost::asio;
io_service io;
deadline_timer t(io, boost::posix_time::seconds(5));
t.wait();
std::cout << "Hello World!" << std::endl;

return 0;
}

编译这个程序时我尝试做的第一件事是

g++ -I /home/vagrant/boost_1_60_0 main.cpp

这给了我一个错误

/tmp/cc8Ytqko.o: In function `__static_initialization_and_destruction_0(int, int)':
main.cpp:(.text+0xfc): undefined reference to `boost::system::generic_category()'
main.cpp:(.text+0x108): undefined reference to `boost::system::generic_category()'
main.cpp:(.text+0x114): undefined reference to `boost::system::system_category()'
/tmp/cc8Ytqko.o: In function `boost::system::error_code::error_code()':
main.cpp:(.text._ZN5boost6system10error_codeC2Ev[_ZN5boost6system10error_codeC5Ev]+0x17): undefined reference to `boost::system::system_category()'
/tmp/cc8Ytqko.o: In function `boost::asio::error::get_system_category()':
main.cpp:(.text._ZN5boost4asio5error19get_system_categoryEv[_ZN5boost4asio5error19get_system_categoryEv]+0x5): undefined reference to `boost::system::system_category()'
collect2: error: ld returned 1 exit status

然后我做了一些研究,似乎我需要构建 boost_system 二进制文件,所以我去了 boost 所在的目录并运行

./bootstrap.sh
./b2 --with-system

然后我又编译了

g++ -I /home/vagrant/boost_1_60_0 main.cpp -L/home/vagrant/boost_1_60_0/stage/lib/ -lboost_system

这并没有给我任何错误,但是当我运行可执行文件时

vagrant@vagrant-ubuntu-trusty-64:/vagrant$ ./a.out
./a.out: error while loading shared libraries: libboost_system.so.1.60.0: cannot open shared object file: No such file or directory

我真的不知道我需要在这里做什么

最佳答案

liibboost_system.so.1.60.0 无法在动态链接器搜索的目录列表中找到。默认情况下,非默认共享对象位置不存储在二进制文件中。环境变量 LD_LIBRARY_PATH 可用于添加将在标准位置之前搜索的目录:

LD_LIBRARY_PATH=/home/vagrant/boost_1_60_0/stage/lib/ ./a.out

这仅适用于 current bash environment , 也有方法 store the path in the executable这样就不需要环境变量了。

关于c++ - 使用 boost 时出现问题,无法打开共享对象文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36090824/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com