Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Can';不要忽视VisualStudio2010中的库_C++_Windows_Visual Studio 2010_Visual Studio 2008_Visual C++ - Fatal编程技术网

C++ Can';不要忽视VisualStudio2010中的库

C++ Can';不要忽视VisualStudio2010中的库,c++,windows,visual-studio-2010,visual-studio-2008,visual-c++,C++,Windows,Visual Studio 2010,Visual Studio 2008,Visual C++,我正在将一个项目从VS2008更新到VS2010,出现以下错误: uafxcwd.lib(afxwinappex.obj):错误LNK2005:“public:virtual struct CRuntimeClass*\uu此调用CWinAppEx::GetRuntimeClass(void)const“ (?GetRuntimeClass@CWinAppEx@@UBEPAUCRuntimeClass@@XZ)已定义 在WinAppEx.obj中 我已经尝试了我能想到的一切。uafxcwd.li

我正在将一个项目从VS2008更新到VS2010,出现以下错误:

uafxcwd.lib(afxwinappex.obj):错误LNK2005:“public:virtual struct CRuntimeClass*\uu此调用CWinAppEx::GetRuntimeClass(void)const“ (?GetRuntimeClass@CWinAppEx@@UBEPAUCRuntimeClass@@XZ)已定义 在WinAppEx.obj中

我已经尝试了我能想到的一切。uafxcwd.lib位于链接器中的“其他依赖项”和“忽略特定默认库”设置中。出于某种原因,它似乎没有忽略uafxcwd.lib库


任何帮助都将不胜感激。

我很久以前就遇到过这个问题,我找到了一个设置正确、编译无误的项目。我也做了一些笔记,但我不记得我是如何(从哪里)得到答案的

这是:

您正在MFC项目中使用C运行时库,库的链接顺序错误。 CRT和MFC库包含new、delete和DLLMain,其中CRT使用弱外部链接。 MFC库中的所有函数必须在CRT之前链接

为此,请执行以下操作:

在项目设置中,链接、输入,转到忽略库并添加Libcmtd.lib。这将从链接进程中排除Libcmtd.lib

既然你需要它,就必须包括在内。您可以通过在“附加依赖项”框中添加库来强制它。但请按以下顺序添加库:uafxcw.lib LIBCMT.lib


正如您所看到的,uafxcw.lib在LIBCMT.lib之前。这将解决您的问题。

解决了它。问题在于VS2010中的uafxcwd.lib引入了一个新类cwinappex。这与我创建的类同名,导致了冲突


谁会这么想?

听起来很明显,但你有没有尝试过清洗你的解决方案并重新构建它?是的。这通常能解决这些奇怪的问题,但这次不行。你试过了吗,检查链接顺序:是的,我的顺序是唯一不会导致数百个错误的。另外,WinAppEx.obj不是来自库,因此我不能订购带有它的uafxcwd.lib。如果您将这个.lib放在“附加依赖项”中,那么它就不会被忽略。您正在使用不兼容的设置编译源代码,请将它们全部设置为相同的。我尝试了此方法,但无效。冲突不在这两个库之间,而是在uafxcwd.lib和生成的obj文件之间。