描述:
修改了一个atl写的com的dll,在debug版本的时候可以顺利得编译连接;但是改成release版本之后,编译没有问题,但是在连接的时候出现一下问题:
--------------------Configuration: SafeIE - Win32 Release MinSize--------------------
Compiling...
FiltrateIE.cpp
Linking...
Creating library ReleaseMinSize/SafeIE.lib and object ReleaseMinSize/SafeIE.exp
LIBCMT.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
ReleaseMinSize/SafeIE.dll : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
SafeIE.dll - 2 error(s), 0 warning(s)
我在自己添加的代码中逐行注销进行连接,发现当源文件出现tolower函数会出现上面的错误,fopen函数也会导致相同的错误。我把这两个函数注销掉就不会有上面的问题。不知道这是什么原因引起的,别人告诉我库版本不对,但是我还是不知怎么改,还望有哪位高手指点一下,小弟不胜感激!
解决方案1:
Project -> Settings -> C/C++ -> Preprocessor definitions中去掉 _ATL_MIN_CRT 重新编译搞定。