不包括boost线程 - 可能的boost库配置问题

时间:2015-01-28 17:53:56

标签: boost cygwin codeblocks

我目前正在尝试在一个简单的项目中使用boost线程。 我的ide是Codeblocks 13.12,我使用GCC Cygwin作为我的编译器。 这就是我的代码看起来像

#include <iostream>
#include <boost/thread/thread.hpp>
int main()
{
    std::cout << "Hello World";
}

我还在链接器搜索目录中添加了"c:\cygwin64\lib"。 此目录包含文件libboost_thread.dll.a,因此我在liker设置选项卡下的链接库中添加了libboost_thread。 现在,当我尝试构建此代码时,我得到了错误

||=== Build: Debug in TestCodeBlocks (compiler: Cygwin GCC) ===|
obj\Debug\main.o||In function `__static_initialization_and_destruction_0':|
\usr\include\boost\system\error_code.hpp|222|undefined reference to `boost::system::generic_category()'|
 relocation truncated to fit||R_X86_64_PC32 against undefined symbol `boost::system::generic_category()'|
\usr\include\boost\system\error_code.hpp|223|undefined reference to `boost::system::generic_category()'|
 relocation truncated to fit||R_X86_64_PC32 against undefined symbol `boost::system::generic_category()'|
\usr\include\boost\system\error_code.hpp|224|undefined reference to `boost::system::system_category()'|
 relocation truncated to fit||R_X86_64_PC32 against undefined symbol `boost::system::system_category()'|
||=== Build failed: 6 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===|

有关如何解决此问题的任何建议?

1 个答案:

答案 0 :(得分:0)

只需将-lboost_system添加到编译行

即可
g++ hello.cc -lboost_system