【发布时间】:2015-11-19 10:04:21
【问题描述】:
我正在尝试将 libgetfiles.so 链接到 main.cpp。我运行了以下命令:
sudo g++ main.cpp -L/ubuntu/test -lgetfiles -L/usr/local/lib/ -lboost_thread
它给了我以下错误:
/ubuntu/test/libgetfiles.so: undefined reference to'boost::thread::start_thread_noexcept()'
/ubuntu/test/libgetfiles.so: undefined reference to 'boost::thread::join_noexcept()'
/ubuntu/test/libgetfiles.so: undefined reference to 'boost::system::system_category()'
/ubuntu/test/libgetfiles.so: undefined reference to 'boost::system::generic_category()'
我该如何解决?
我也尝试过卸载和重新安装 boost 库。 我也试过下面的命令:
g++ main.cpp -L/ubuntu/test -lgetfiles -L/usr/local/lib/ -lboost_thread-mt
他们两个都不适合我。
【问题讨论】:
-
你确定你有 /usr/local/lib/ 中的库吗?
-
您可能还应该将
-lboost_system添加到链接器标志。 -
@Zereges 感谢 Zereges。这减少了 boost::system 错误,但我仍然有 boost::thread 错误
-
@Oleksandr Kravchuk 我使用 sudo apt-get install libboost-all-dev 命令安装 boost。那么如何查看所有包的安装位置呢?