我在这里遇到一个非常困难的情况......其实我正在开发一个MFC项目。在我的项目中,我有另一个小项目作为我的主项目的lib输入。我设置了“使用MFC” - - 在我的项目设置中“在共享DLL中使用MFC”...它工作得很好..但是当我设置“使用MFC” - “在静态dll中使用MFC”时...我无法构建项目在调试/发布模式下。我不想设置“使用MFC作为共享Dll”的原因是因为我希望我的项目在不支持visual studio的机器上运行...我收到以下错误:< / p> 错误LNK2005:已在Client7z.lib(NewHandler.obj)中定义的“void * __cdecl operator new(unsigned int)”(?? 2 @ YAPAXI @ Z)uafxcwd.lib SelfExtractor
我读了一篇文章 http://support.microsoft.com/kb/148652 [^] ..根据他们的建议,我试图忽略了下面的库Nafxcwd.lib; Libcmtd.lib但仍然没有用...如果你伙计们有任何解决方案请帮助我。
答案 0 :(得分:1)
在调试模式下查看这些设置:
Link->General:
Object/Libary modules: Nafxcwd.lib Libcmtd.lib Client7z.lib
Link->Input:
Object/Libary modules: Nafxcwd.lib Libcmtd.lib Client7z.lib
Ignore libraries: libcmtd.lib,libcd.lib
一个疯狂的猜测,但至少你可以试试。
答案 1 :(得分:0)
您还必须将C运行时更改为静态版本。它是用C / C ++ - &gt;代码生成 - &gt;运行时库。
将其设置为/ MT(发布)或/ MTd(调试)。