C++连接错误的问题!!

来源:百度知道 编辑:UC知道 时间:2024/06/16 22:12:41
#include<windows.h>
#include<windowsx.h>

int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE d2,
LPSTR d3,
int d4)
{
MSG msg;
HWND hwnd;

hwnd = CreateWindow("BUTTON","Hello,World!",
WS_VISIBLE | BS_CENTER,100,100,100,80,
NULL, NULL, hInstance, NULL);

while( GetMessage(&msg, NULL,0,0))
{
if(msg.message == WM_LBUTTONUP)
{
DestroyWindow(hwnd);
PostQuitMessage(0);
}
DispatchMessage(&msg);
}
return msg.wParam;

}
编译通过,运行时报错显示:
Linking...
LIBCMT.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/tmp.exe : fatal error LNK1120: 1 unresolved externals
我是菜鸟,希望大家耐心指点……
这是我从一本程序书上抄下来的代码,肯定是我的编译器设置或者工程设置不对头。以前都是用dos编程,这次换成windows我还没成功的运行通过呢……
那一般来说建立一个工程的时候有什么规则么?

是不是你建的工程不对
应该是win32 不是win console

楼主说得很对,是你的子系统没有配置对,你还是用的/SUBSYSTEM:CONSOLE开关(控制台命程序CUI程序),而现在是windows程序(GUI)呢。你只需按下面的方法改过来就好了。

(1)VC6集成环境下:Project Settings -> Link 选项卡 -> 将/SUBSYTEM:CONSOLE开关设置为 /SUBSYSTEM:WINDOWS就可以了

(2)VS集成环境下:项目 -> 属性 -> 配置属性 -> 系统 -> 将子系统选择为“未设置”或“Windows (/SUBSYSTEM:WINDOWS)”