回 帖 发 新 帖 刷新版面

主题:我刚开始读windows程序设计,遇到些麻烦,向大家求助

我刚开始读windows程序设计,遇到些麻烦,向大家求助,帮帮我     
  使用VC++6   新建.CPP文件,如下:     
    
  /*--------------------------------------------------------------     
      HelloMsg.c   --   Displays   "Hello,   Windows   98!"   in   a   message   box     
                                  (c)   Charles   Petzold,   1998     
    --------------------------------------------------------------*/     
    
  #include   <windows.h>     
    
  int   WINAPI   WinMain   (HINSTANCE   hInstance,   HINSTANCE   hPrevInstance,PSTR   szCmdLine,   int   iCmdShow)     
  {     
          MessageBox   (NULL,   TEXT   ("Hello,   Windows   98!"),   TEXT   ("HelloMsg"),   0)   ;     
    
          return   0   ;     
  }     
    
    
  compile后无误但在Build后提示错误,如下:     
    
  --------------------Configuration:   aa   -   Win32   Debug--------------------     
  Linking...     
  LIBCD.lib(crt0.obj)   :   error   LNK2001:   unresolved   external   symbol   _main     
  Debug/aa.exe   :   fatal   error   LNK1120:   1   unresolved   externals     
  Error   executing   link.exe.     
    
  aa.exe   -   2   error(s),   0   warning(s)     
    
    
  请问如何处理?????     
    

回复列表 (共6个回复)

沙发

建对工程没?

板凳

估计楼主建的是控制台的工程

3 楼

你是不是直接打开cpp文件,window程序应该打开工程(扩展名为dsw)

4 楼

不要直接打开.CPP文件编译,要打开.DSW进行编译!
你打开.DSW文件先编译一下,不行的话再重建一个工程
工程打开.DSW文件编译一下
创建过程不能直接file-->c/c++source file
应该这样:
file-->project-->win32 application-->emty project-->确定
然后再file-->c/c++source file-->输入代码
关闭工程
打开.DSW文件进行编译

原因是:窗口程序是一个win32 application,在这种工程中.CPP文件没有引入库文件的
功能,只有工作区.DSW才引入库文件.
error   LNK2001:   unresolved   external   symbol  
的意思是:无法确定的外部变量.虽然你的头文件中有这个申明,但是你无法引入.LIB文件就不能动态载入函数定义体.
不知道这样讲你懂不懂.我就知道这么多了!

5 楼

没有加入crt0.obj,crt0是C语言运行库.可以在网上找是怎么加入 VC的

6 楼

谢谢

我来回复

您尚未登录,请登录后再回复。点此登录或注册