以下几行代码在DEV中可以编译在VS2010中却出错

#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 ;
}

VS2010中是这样说的
>MSVCRTD.lib(crtexe.obj) : error LNK2019: 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用
1>C:\Documents and Settings\Administrator\桌面\Debug\asd.exe : fatal error LNK1120: 1 个无法解析的外部命令
1>
1>生成失败。

请问这是什么原因?应该怎么办?

第1个回答  2010-08-05
没有指定.lib文件.
建个批处理,手动编译一下.将文件拖动到此批处理上.
@echo off
cl /c /EHsc /nologo /O1 "%~f1"
link /nologo "user32.lib" "Gdi32.lib" "kernel32.lib" "Psapi.lib" "shlwapi.lib" "shell32.lib" "Wininet.lib" "%~ndp1.obj"
if %errorLevel%==0 (
echo 编译完成
) else (
echo 编译错误
)
pause
第2个回答  2010-08-05
我试过了,在win32应用程序工程里是可以正常运行的,
估计你可能创建成控制台应用程序 了,你重新创建一个试试
第3个回答  2010-08-05
建的工程不对。

你这个应该建win32 application

而不是win32 console application本回答被提问者采纳
第4个回答  2010-08-05
项目属性->配置属性->链接器->系统,里面的子系统,改为windows
第5个回答  2010-08-06
建win32 application
才是!
相似回答