-
-
[求助]链接 Link C 运行时库时出现 LNK2005 错误
-
-
[求助]链接 Link C 运行时库时出现 LNK2005 错误
最近在编程的时候出现错误,与下面的类似
网上的资源看不懂,向各位请教!
资料原地址:
f50K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4y4#2M7s2m8G2M7Y4c8Q4x3X3g2E0K9h3y4J5L8%4y4G2k6Y4c8Q4x3X3g2U0L8$3#2Q4x3V1k6Q4x3@1k6K6j5$3W2V1i4K6y4p5K9$3u0Q4x3@1u0*7K9q4)9J5k6r3y4F1i4K6y4n7x3e0b7^5y4U0f1J5i4K6t1$3M7%4m8A6k6q4)9K6c8o6t1&6z5e0m8Q4x3U0k6K6K9h3c8Q4x3@1c8Y4L8r3!0T1j5h3H3`.
--------------------------------------------------
在 MFC 库之前链接 Link C 运行时库时出现 LNK2005 错误
症状
当 C 运行时 (CRT) 库和 Microsoft 基础类 (MFC) 库的链接顺序有误时,可能会出现以下某个 LNK2005 错误:
nafxcwd.lib(afxmem.obj) :error LNK2005:
"void * __cdecl operator new(unsigned int)"(??2@YAPAXI@Z) already
defined in LIBCMTD.lib(new.obj)
nafxcwd.lib(afxmem.obj) :error LNK2005:
"void __cdecl operator delete(void *)"(??3@YAXPAX@Z) already defined
in LIBCMTD.lib(dbgnew.obj)
nafxcwd.lib(afxmem.obj) :error LNK2005:
"void * __cdecl operator new(unsigned int,int,char const *,int)"
(??2@YAPAXIHPBDH@Z) already defined in LIBCMTD.lib(dbgnew.obj)
mfcs40d.lib(dllmodul.obj):error LNK2005:_DllMain@12 already defined in
MSVCRTD.LIB (dllmain.obj)
mfcs42d.lib(dllmodul.obj):error LNK2005:_DllMain@12 already defined in
msvcrtd.lib(dllmain.obj)
原因
CRT 库对 new、delete 和 DllMain 函数使用弱外部链接MFC 库也包含 new、delete 和 DllMain 函数。这些函数要求先链接 MFC 库,然后再链接 CRT 库。
----------------------------------------------------------
什么叫弱外部连接??
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课