我目前正在尝试在一个简单的项目中使用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)) ===|
有关如何解决此问题的任何建议?
答案 0 :(得分:0)
只需将-lboost_system添加到编译行
即可g++ hello.cc -lboost_system