繁体   English   中英

VS2010的Boost Log链接错误

[英]Boost Log linkage error on VS2010

我正在尝试在VS2010上构建和运行Boost.Log库。

我从SVN的主干中提取了最新文件。 我将所有头文件和源文件拖到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"; }

一切都能编译,但随后出现此LINK错误:

错误LNK1104:无法打开文件'libboost_log_setup-vc100-mt-gd-1_47.lib'

出现问题:我正在建立一个.exe项目,为什么要寻找这个.lib文件? 我有资料来源。 链接器如何知道名称“ libboost_log_setup-vc100-mt-gd-1_47”? 我在链接选项和源代码中都找不到它的剩余部分。

我在这里可以做什么?

最好是有人可以指导我使用Boost.Log的已构建且正在运行的VS2010 .lib。

PS在此之前,我尝试从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 @ logger @ trivial @ log_mt_nt5 @ boost @@ SA?AV?$ severity_logger_mt @ W4several_level @ log_mt_nt5 @ boost @@@ sources @ 34 @ XZ)

Boost.Log是一个编译的库; 它需要被建造。 您可以使用bjam来构建它,就像构建其余的boost一样。

要搜索的文件名是它提升了自动链接的结果。 查看各种选项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM