c++ - VS2010上的Boost Log链接错误

标签 c++ visual-studio-2010 boost linker-errors

我正在尝试在 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,那将是最好的。

附言 在此之前,我曾尝试从 boost.log 源代码编译一个 .lib 文件,并让另一个 exe 项目使用它。 .lib 构建良好。 但是在客户端项目中我收到了这样的错误:

error LNK2019: 函数“public:静态类 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?$severity_logger_mt@ W4severity_level@trivial@log_mt_nt5@boost@@@sources@34@XZ)

最佳答案

Boost.Log 是编译库;它需要 build 。您可以使用 bjam 构建它,就像构建其他 boost 的方式一样。

正在搜索的文件名是它 boost 自动链接的结果。查看各种选项。

关于c++ - VS2010上的Boost Log链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7474646/

相关文章:

c++11 STL 的 binomial_distribution 极慢

c++ - 使用 do-while 从一个 vector 中删除元素并将它们添加到另一个 vector

visual-studio-2010 - 是否可以让 Windows Azure SDK 1.7 项目在 2.3 模拟器中运行?

c# - 将表单上的控件移动到选项卡上

c++ - Boost.Beast 高级服务器示例中的 HTTP 管道与 WebSocket

c++ - 如何查询 boost::log 严重性?

visual-studio-2010 - boost 库 1.47.1 构建 'lib' 前缀导致 LNK1104 错误

c++ - 将迭代器获取到泛型类 : HOW TO 中的泛型容器

c++ - 如何在 C++/QT 中创建 Windows 服务?

c# - 有没有一种简单的方法来检查重复的快捷键?