win32程序编译通过,但是不能运行

li4c 2013-12-21 06:00:52
#include<windows.h>
int WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
PSTR szCmdLine,
int iCmdShow)
{
MessageBox(NULL,TEXT("Hello Windows 98"),TEXT("Hello!"),MB_OK);
return 0;
}

运行显示错误提示为
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/win32.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.
Creating browse info file...

win32.exe - 1 error(s), 0 warning(s)
...全文
82 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
li4c 2013-12-21
  • 打赏
  • 举报
回复
引用 1 楼 movsd 的回复:
你建的是控制台程序,要用Win32 Application才行,否则链接器默认会去找main()函数做为程序入口。 链接器有个选项: /subsystem:console 控制台程序,入口函数为main(); /subsystem:windows Win32应用程序,入口函数为WinMain();
恩,确实是这样啊,我改过来了,可是你是怎么知道我建造的是控制台程序的,从那里看出来的啊
movsd 2013-12-21
  • 打赏
  • 举报
回复
你建的是控制台程序,要用Win32 Application才行,否则链接器默认会去找main()函数做为程序入口。 链接器有个选项: /subsystem:console 控制台程序,入口函数为main(); /subsystem:windows Win32应用程序,入口函数为WinMain();

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧