BOOST asio 例程daytime不使用库编译方法

在不使用lib库编译daytime client程序时,按照《Boost程序库完全开发指南》添加的定义

#define BOOST_REGEX_NO_LIB
#define BOOST_DATE_TIME_SOURCE
#define BOOST_SYSTEM_NO_LIB

编译时会产生:

error LNK2019: 无法解析的外部符号 "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAABVerror_category@12@XZ),该符号在函数 "public: __thiscall boost::system::error_code::error_code(void)" (??0error_code@system@boost@@QAE@XZ) 中被引用

error LNK2019: 无法解析的外部符号 "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAABVerror_category@12@XZ),该符号在函数 "void __cdecl boost::system::`dynamic initializer for 'posix_category''(void)" (??__Eposix_category@system@boost@@YAXXZ) 中被引用

解决方法:

在boost的system库的error_code.hpp源代码中发现
#define BOOST_ERROR_CODE_HEADER_ONLY

可以解决这个问题。

添加此定义以后编译成功

posted on 2013-07-24 12:27  sunws_king  阅读(1622)  评论(0编辑  收藏  举报

导航