gpt4 book ai didi

c++ - boost 日志链接器错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:24:59 25 4
gpt4 key购买 nike

我已经从源代码下载并构建了 Boost 1.55。我正在尝试使用 Boost-log。在基本情况下(http://boost-log.sourceforge.net/libs/log/doc/html)/log/tutorial.html#log.tutorial.trivial 它工作正常,没有任何问题,但是当我尝试使用一些更高级的功能(如 - http://boost-log.sourceforge.net/libs/log/example/doc/tutorial_fmt_stream.cpp )时,我收到此错误:

main.obj : error LNK2019: unresolved external symbol "void __cdecl boost::filesystem::path_traits::convert(char const *,char const *,class std::basic_string,class std::allocator> &,class std::codecvt const &)" (?convert@path_traits@filesystem@boost@@YAXPBD0AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@ABV?$codecvt@GDH@5@@Z) referenced in function "void __cdecl boost::filesystem::path_traits::dispatch,class std::allocator > >(class std::basic_string,class std::allocator > const &,class std::basic_string,class std::allocator > &,class std::codecvt const &)" (??$dispatch@V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@@path_traits@filesystem@boost@@YAXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@4@ABV?$codecvt@GDH@4@@Z)

1>main.obj : error LNK2019: unresolved external symbol "void __cdecl boost::log::v2s_mt_nt5::aux::code_convert(unsigned short const *,unsigned int,class std::basic_string,class std::allocator > &,class std::locale const &)" (?code_convert@aux@v2s_mt_nt5@log@boost@@YAXPBGIAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABVlocale@6@@Z) referenced in function "private: void __thiscall boost::log::v2s_mt_nt5::basic_formatting_ostream,class std::allocator> ::aligned_write(unsigned short const *,__int64)" (??$aligned_write@G@?$basic_formatting_ostream@DU?$char_traits@D@std@@V?$allocator@D@2@@v2s_mt_nt5@log@boost@@AAEXPBG_J@Z)

1>main.obj : error LNK2019: unresolved external symbol "public: static class std::codecvt const & __cdecl boost::filesystem::path::codecvt(void)" (?codecvt@path@filesystem@boost@@SAABV?$codecvt@GDH@std@@XZ) referenced in function "public: __thiscall boost::filesystem::path::path(char const (&)[14],void *)" (??$?0$$BY0O@$$CBD@path@filesystem@boost@@QAE@AAY0O@$$CBDPAX@Z)

所以基本上它在 .lib 文件中找不到函数 convert(...)、code_convert(...) 和 codecvt(...)。

我已经尝试将所有发布库(构建 boost 时生成的 .lib 文件)添加到“附加库”,通常我认为 visual studio 可以找到所有库,但无法在库中找到这些函数。有什么办法可以解决这个问题吗?

我使用 visual studio 2010 (msvc10.0)、32 位、发布和调试从源代码构建了 Boost 1.55。我正在使用 Windows 7 x64。

最佳答案

我遇到了同样的问题,我可以通过更改 VisualStudio 2010 上的项目属性之一来解决它。

前往:

属性页 -> 配置属性 -> C/C++ -> 语言 -> 将 WChar_t 视为内置类型:

并将属性设置为:

是 (/Zc:wchar_t)

希望对你也有帮助:)

保重,

关于c++ - boost 日志链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20688744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com