不知道有没有人遇到过,MFC的lib和VCRT的lib冲突的问题.
mfcs42d.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in MSVCRTD.lib(dllmain.obj)
mfcs42d.lib(dllmodul.obj) : warning LNK4006: _DllMain@12 already defined in MSVCRTD.lib(dllmain.obj); second definition ignored
这是在一个使用MFC的win32dll(不是MFC extended的) 并且里面使用了stdio的一些函数。
最开始编译的时候没有问题,但是在工程关闭后重新打开几次就会出现这个连接错误.
重新建立工程后错误又消失,再多打开几次又有问题了。
这个错误的原因应该是因为MFC写的dll里面没有自己的dllmain,所以需要连接默认的MFC42D里面的,但是因为又用到了VCRT的东西,里面也存在dllmain,linker不知道连接哪个所以报错,但是为什么最开始的built并不会出错呢?
谁知道是怎么回事?????