遇到此类问题:error LNK2005: _DllMain@12 已经在 MSVCRT.lib(dllmain.obj) 中定义

使用 MFC 库时,务必先链接它们,然后再链接 CRT 库。这可以通过确保项目中的每个文件都首先包含 “stdafx.h”或“afx.h”来解决。

 

直接包含 (#include <Afx.h>) 或间接包含 (#include < Stdafx.h>) 都可以。Afx.h 包含文件会通过使用 #pragma comment (lib,"<libname> ") 指令来强制采用库的正确顺序。

 

变量重定义的情况,初学c++的时候经常遇到,不过最开始是因为菜,乱定义变量;
后面再发生一般是设计问题了,另外在涉及到多线程,CRuntimeLib(c运行时库)时,有时候会发生链接错误,不过在链接外部库的时候,最不好不要在设置里面链外部库,不好管理,而且移植性还降低了,最好是使用#pragma comment 来链接,哪里需要,就跟在引用的头文件下面。好管理。

 

详细说明看下面的链接:

           http://apps.hi.baidu.com/share/detail/17141856

你可能感兴趣的:(多线程,c,mfc)