我想在VS2010上构建和运行Boost.Log库。在VS2010上升压日志链接错误
我从他们SVN中的trunk中获取了最新的文件。 我将所有的头文件和源文件拖放到一个win32.exe项目中,设置所有boost的(1.47)include \ lib目录。 使用.mc文件播放了一段时间后,我设法从中生成头文件和.rc文件。
还确保运行时库设置为多线程调试DLL(/ MDd)。
我主要CPP文件是这样的:
#include "stdafx.h"
#include <boost/log/trivial.hpp>
int _tmain(int argc, _TCHAR* argv[]){
BOOST_LOG_TRIVIAL(error) << "An error severity message"; }
一切编译,但后来我得到这个链接错误:
错误LNK1104:无法打开文件“libboost_log_setup-VC100-MT-GD-1_47.lib '
问题产生: 我正在构建一个.exe项目,为什么要查找这个.lib文件?我有来源和所有。 链接器如何知道名称'libboost_log_setup-vc100-mt-gd-1_47'?我在链接选项中找不到任何剩余部分,也没有在源代码中找到它。
我能在这里做什么?
这将是最好的,如果有人能指导我已经建立和工作的Boost.Log的VS2010 .lib。
P.S. 在此之前,我试图从boost.log源文件编译一个.lib文件,并让另一个exe项目使用它。 .lib构建得很好。 但在客户端项目中,我收到了此类错误:
错误LNK2019:无法解析的外部符号“void __cdecl boost :: log_mt_nt5 :: trivial :: aux :: init(void)”(?init @ aux @ trivial @ log_mt_nt5 @ boost @@ YAXXZ)在函数“public:static class boost :: log_mt_nt5 :: sources :: severity_logger_mt__cdecl boost :: log_mt_nt5 :: trivial :: logger :: construct_logger(void)”(?construct_logger @ logger @ trivial @ log_mt_nt5 @ boost @@ SA?AV?$ severity_logger_mt @ W4severity_level @ trivial @ log_mt_nt5 @ boost @@@ sources @ 34 @ XZ)
除此之外,我甚至通过2.0使用了许多项目的boost日志,然后最终搁置了它(不幸的是)。一旦你超越了样本所涵盖的任务,看起来过于设计,文档不足,并且一般都很笨拙。此外,Google日志记录库使用的条件/严重性技巧实际上已被优化得很好; boost.log在确定是否发送到输出之前对整行进行格式化。 – adzm