编译错误:LIBCMT.lib(ctr0.obj):error LNK2001
已经发布的一个工程,别人重新打开进行编译后,会出现如下的错误提示:
LiBCMT.lib(ctr0.obj):error LNK2001:外部symbol "_Main"未解决。
cl.exe执行错误。。
对对方的编译选项设置不是很清楚,看了一下,可能是跟run time library 或者多线程有关,应该如何设置??
问题点数:100、回复次数:5Top
1 楼c0der()回复于 2003-08-02 10:57:02 得分 15
你肯定在程序中使用了一些标准的C语言函数,如mem*函数。如果你想知道到底是哪个函数,可以在工程设置的ignore libraries中输入Libcmt.lib。再次链接时,会报告一些函数找不到,你就可以知道是哪些函数了。如果这些函数是必须的,解决的办法就是从工程设置中删除_ATL_MIN_CRT。
Top
2 楼zhouyong0371(小周周)回复于 2003-08-02 11:04:07 得分 15
1.打开Project->Setting->C/C++下Project Options内有一个_Console,改为_WINDOWS
2.Project->Setting->Link下有一个console,改为windows
做完这两步就可以了Top
3 楼Luxm(夕阳西下……)回复于 2003-08-02 11:05:26 得分 20
Project Setting->C/C++:分类:Preprocessor
Project Setting->C/C++:分类:Code Generation
主要在以上两处设置Top
4 楼c0der()回复于 2003-08-02 11:07:36 得分 50
Project->setting...->c/c++
Category ->Preprocessor-->Preprocessor definition:
remove _ATL_MIN_CRT flagTop
5 楼fasching()回复于 2003-08-04 09:23:52 得分 0
问题是因为c0der所说的预编译器命令的问题,删掉就没关系了:PTop




