【问题标题】:Failed to build app using libboost_thread使用 libboost_thread 构建应用程序失败
【发布时间】:2016-06-09 13:05:22
【问题描述】:

我跟着get started构建安装boost 1.61.0mypath-to-boost,然后在下面尝试使用libboost_thread

// mythread.cpp

#include <boost/thread.hpp>

void a_thread() {}

int main() {
  boost::thread t{a_thread};
}

建设mythread.cpp,

$ g++ mythread.cpp -std=c++11 -Imypath-to-boost -lboost_thread -Lmypath-to-boost/lib

然后出现错误,

/usr/bin/ld: warning: libboost_system.so.1.61.0, needed by mypath-to-boost/lib/libboost_thread.so, not found (try using -rpath or -rpath-link)
mythread.cpp: undefined reference to `boost::system::generic_category()'
...

检查libboost_thread

$ ls -l mypath-to-boost/lib/*thread*

然后找到库,

libboost_thread.a
libboost_thread.so -> libboost_thread.so.1.61.0
libboost_thread.so.1.61.0

那么导致构建失败的问题是什么?

【问题讨论】:

    标签: c++ gcc boost g++


    【解决方案1】:

    您需要将boost_system 库添加到链接线...

    【讨论】:

    • 附带问题:如果函数a_thread 放在main 后面,则无法编译上面的源代码。 gcc抱怨太多,为什么?
    猜你喜欢
    • 2017-08-29
    • 2017-04-26
    • 1970-01-01
    • 1970-01-01
    • 2020-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多