我在调试一个简单的API程序时遇到了如下的错误:--------------------Configuration: HelloMsg - Win32 Debug--------------------
Compiling...
HelloMsg.c
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/HelloMsg.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.HelloMsg.exe - 2 error(s), 0 warning(s)请问这怎么解决啊

解决方案 »

  1.   

    你的是不是win32程序,但建立的是win32 console工程?
      

  2.   

    有的API需要在工程中导入相应的LIB库。例如htos()不仅要包含winsock2.h头文件,还要导入ws2_32.lib。否则就会报上面的错误。具体需要包含哪个库,MSDN里有说明
      

  3.   

    我建的是win32 Application啊郁闷啊,没有MSDN,好象卖碟那里的也没有
      

  4.   

    以前看到过是
    要改链接选项
    在Project中的Setting中,选Link选项,下面的文本框里把/subsystem:console改为/subsystem:windows你这样试试看
      

  5.   

    找不到程序输入点
    ---------------------------------------------------------------  
    1.
    Alt+F7,找开Settings->Link,  
    找到Project  Options:  
    看看subsystem:    后是什么?  
    如果是console改为windows  
    ---------------------------------------------------------------  
    2.
    如果呢每次都RebuildAll  的话,你的每次都出现这个错误,那就是你的程序里面某个变量或是函数可能声明和定义对不上..  
    仔细检查一下  
    ---------------------------------------------------------------  
      

  6.   

    我已经写了#include<windows.h>这句了啊另外CSDN论坛是不是有BUG哦,回复的时候好象不能用英文输入法,有是也不能用空格,不然就跳到帖子最前面去
      

  7.   

    呵呵,把/subsystem:console改为/subsystem:windows后可以了,请问为什么要这么做哦,还有谁知道MSDN在哪里可以下哦,没有MSDN好麻烦啊
      

  8.   

    这是编译器的设定.在编译时候可以知道是控制台程序还是gui程序.可以参考windows核心编程.msdn看看这里http://www.jx263.com/down/down.asp?id=9856&no=3
      

  9.   

    holyeagle(一杯清茶老兄你给的网站打不开啊
      

  10.   

    在工程属性->LINK中 
    把ProjectOptions 中的 /subsystem:windows 改为 /subsystem:console 或者干脆把它给删掉
    这样它就会自动识别main或WinMain的
    很棒的方法