我在编译我的项目时遇到一个很奇怪的问题,当我在现有的项目中直接加入相关的一些.h.cpp文件后(不再使用dll)重新编译,编译顺序从我的原有文件开始,直至新加入的文件为止,链接没有任何问题。
但是,如果再重新打开我的项目编译时,却按照cpp文件名字母顺序开始,最后链接时出现:
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(dbgdel.obj)
Debug/hil2csta.exe : fatal error LNK1169: one or more multiply defined symbols found 错误。
当然我可以通过修改setting选择using shared dll来解决,但是旧项目一直是not using mfc的。 为什么编译顺序的改变可以有不同的结果,如何控制??? 请赐教!谢谢!
但是,如果再重新打开我的项目编译时,却按照cpp文件名字母顺序开始,最后链接时出现:
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(dbgdel.obj)
Debug/hil2csta.exe : fatal error LNK1169: one or more multiply defined symbols found 错误。
当然我可以通过修改setting选择using shared dll来解决,但是旧项目一直是not using mfc的。 为什么编译顺序的改变可以有不同的结果,如何控制??? 请赐教!谢谢!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货