我在链接 boost.asio 时遇到问题。它使用 boost.system 并且链接器错误以:
/boost_1_39_0/boost/system/error_code.hpp:205: 对 `boost::system::get_system_category()' 的 undefined reference
这意味着我需要链接 boost.system。我已经构建了 boost,现在我有几个 lib 文件。
- boost_system-mgw32-d-1_39.dll 和库
- libboost_system-mgw34-d-1_39.lib
- libboost_system-mgw34-mt-d-1_39.lib
- libboost_system-mgw34-sd-1_39.lib
还有一些。我如何链接它们?我用哪一个?我是否将它们全部复制在一起?
我的系统是win32+mingw+eclipse cdt+qt 4.5.2+qt integration for eclipse。我已经知道我需要在我的 .pro 文件的 LIBS= 部分。
你能给我一些提示吗?
谢谢。
最佳答案
这些库的命名基于是否启用多线程支持、静态和动态链接、调试和 Release模式等。以下是一些详细信息:
http://www.boost.org/doc/libs/1_39_0/more/getting_started/unix-variants.html#library-naming
我不确定 eclipse,因为我不使用它,但是对于 gcc(和 mingw),您需要指定一个目录来查找 (-L) 中的库和要链接的文件。例如,如果您想链接单线程调试版本:
-L/path/to/libraries -lboost_system-mgw34-sd-1_39
关于c++ - 链接 boost.asio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1245036/