首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >log4cpp链路未解析外部符号

log4cpp链路未解析外部符号
EN

Stack Overflow用户
提问于 2015-02-06 18:09:53
回答 1查看 1.2K关注 0票数 0

我正尝试在我的MSVC项目中使用log4cpp。我下载了log4cpp,打开了它的msvc10 10\msvc10.sln文件。我使用的是Visual 2012 (msvc11),因此它促使我更新log4cpp的项目。我做到了,一切似乎进展顺利。然后我构建了log4cppLIB项目。它生成了msvc10\log4cppLIB\Debug\log4cppD.lib。到目前为止还不错。

回到我自己的项目中,我将msvc10 10\log4cppLIB\Debug添加到链接器库目录中,将log4cppD.lib添加到链接器依赖项中。当我试图构建我的项目时,我会得到以下错误:

代码语言:javascript
复制
error LNK2019: unresolved external symbol "public: static class log4cpp::Category & __cdecl log4cpp::Category::getInstance(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?getInstance@Category@log4cpp@@SAAEAV12@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) 

我尝试过的事情:

  • 也许我的链接器路径或文件名是错误的?不,因为如果我故意使用错误的路径,那么我就会得到另一种错误(fatal error LNK1104: cannot open file 'log4cpp.lib')
  • 也许记忆模型需要匹配?我的项目是x64,log4cpp默认为win32。但是没有。我把log4cpp改成了x64,然后重建了。但是,重新构建我的项目会产生更多的错误,这类错误(error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MTd_StaticDebug')。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2015-02-06 19:20:02

显然,我确实必须编译为x64,我不得不将Runtime从Multi-threaded Debug DLL (/MDd)更改为Multi-threaded Debug (/MTd)。我不知道为什么一开始就这样,但是.嗯。现在起作用了。:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28372079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档