第三方库的问题

hapboy86 2007-10-22 02:13:31
我在MFC环境下使用一个第三方库(crypto++)的时候,构建了crypto++的静态库版本,是不是这个库的运行时库必须和我的工程的运行时库一样啊,因为库是静态的,所以在构建静态库时使用了Multi-Threads Debug,但是我将工程(MFC)的运行时库从Multi-Threads Debug dll改为Multi-Threads Debug后,build时出现错误

请问这是什么原因?
...全文
124 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hapboy86 2007-10-22
  • 打赏
  • 举报
回复
问题解决!多谢【danteLiujie】以及http://tech.ccidnet.com/art/1081/20060310/474235_2.html的作者

读了这篇文章之后,恍然大悟。。。对于Linker的工作细节有了初步的了解。。。

希望更多的朋友从中受益。。。
danteliujie 2007-10-22
  • 打赏
  • 举报
回复

先用MDd的面板程序调用crpto++的静态库试试看,也许是可以的,因为运行时不一致错误是由于编译时,同名标识符导致的编译器困惑造成的。
如果你的静态库在使用的调用不与MFC冲突的话,也是可以编过的,可以考虑降低警告级别先试试,此外,相信提供方应该有对应解决方案的
hapboy86 2007-10-22
  • 打赏
  • 举报
回复
MFC工程的运行时库必须用Multi-Threads Debug dll吗?

我上面的问题应该怎样解决?
danteliujie 2007-10-22
  • 打赏
  • 举报
回复

预计在下一个或下下个版本的Visual Studio中,这个问题将得到一定程度上的解决。
danteliujie 2007-10-22
  • 打赏
  • 举报
回复

对的,必须保证运行时库的一致性,否则使用Visual Studio将产生错误: error LNK2005,具体的细节原因请参考http://tech.ccidnet.com/art/1081/20060310/474235_2.html

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧