none
在共享 DLL 中使用 MFC,程序能编译通过;但是在静态库中使用MFC无法编译通过,请问怎么解决? RRS feed

  • 问题

  • 在共享 DLL 中使用 MFC,程序能编译通过;但是在静态库中使用MFC无法编译通过。

    我有2个项目,a项目生成一个lib,b项目是一个mfc的项目,调用a项目的lib.

    a用mdd编译,b也用mdd编译,b在在共享 DLL 中使用 MFC,b能编译通过,也能正常运行。

    a用mt,b也用mt,b在静态库中使用mfc,编译不能通过。

    报错如下,请问如何解决?

    严重性 代码 说明 项目 文件 行 禁止显示状态
    错误 LNK2005 "void * __cdecl operator new(unsigned __int64)" (??2@YAPEAX_K@Z) 已经在 LIBCMT.lib(new_scalar.obj) 中定义 Beauty1 D:\ss\Beauty1\Beauty1\nafxcw.lib(afxmem.obj) 1 

    严重性 代码 说明 项目 文件 行 禁止显示状态
    错误 LNK1169 找到一个或多个多重定义的符号 Beauty1 D:\ss\Beauty1\x64\Release\Beauty1.exe 1 

    2018年5月21日 8:39

答案

全部回复