已经发布的一个工程,别人重新打开进行编译后,会出现如下的错误提示:LiBCMT.lib(ctr0.obj):error LNK2001:外部symbol "_Main"未解决。
cl.exe执行错误。。对对方的编译选项设置不是很清楚,看了一下,可能是跟run time library 或者多线程有关,应该如何设置??

解决方案 »

  1.   

    你肯定在程序中使用了一些标准的C语言函数,如mem*函数。如果你想知道到底是哪个函数,可以在工程设置的ignore libraries中输入Libcmt.lib。再次链接时,会报告一些函数找不到,你就可以知道是哪些函数了。如果这些函数是必须的,解决的办法就是从工程设置中删除_ATL_MIN_CRT。 
      

  2.   

    1.打开Project->Setting->C/C++下Project Options内有一个_Console,改为_WINDOWS
    2.Project->Setting->Link下有一个console,改为windows
    做完这两步就可以了
      

  3.   

    Project Setting->C/C++:分类:Preprocessor
    Project Setting->C/C++:分类:Code Generation
    主要在以上两处设置
      

  4.   

    Project->setting...->c/c++ Category ->Preprocessor-->Preprocessor definition: remove _ATL_MIN_CRT flag
      

  5.   

    问题是因为c0der所说的预编译器命令的问题,删掉就没关系了:P
      

  6.   

    试一下这个方法:这个主要是引入静态库时的问题
    Project Settings ->General中:
    设置Microsoft Foundation Classes:
    Use MFC in a Static Library