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) 编辑 收藏 举报