编译过了但执行不起来请大家帮帮我
小弟照书打了一个用API创建窗口的程序就是先登记窗口类别,然后注册,创建窗口,显示更新,创建消息循环这几个步骤。
编译没有error,但有warning.执行提示
Linking...
hellowin.obj : error LNK2001: unresolved external symbol _Text
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/hellowin.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.
就这样通不过。
为什么会出现这样的问题,小弟就怕这种看不懂的错误,请各们大哥指正。
源各序:
#include<windows.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrveInstance,PSTR szCmdLine,int iCmdShow)
{
static TCHAR szAppName[]=TEXT("HelloWin");
HWND hwnd;//目标窗口名柄
MSG msg;
WNDCLASS wndclass;
//填写WNDCLASS结构
wndclass.style=CS_HREDRAW|CS_VREDRAW;//窗口尺寸变化重画
wndclass.lpfnWndProc =WndProc;//存放窗口的指针,用于接收消息
wndclass.cbClsExtra =0;
wndclass.cbWndExtra=0;
wndclass.hInstance=hInstance;//为应用程序句柄
wndclass.hIcon =LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor =LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground =(HBRUSH)GetStockObject(WHITE_BRUSH);//决定窗口背景的刷子
wndclass.lpszMenuName=NULL;//指定窗口菜单名
wndclass.lpszClassName =szAppName;//
//窗口类的注册
if(!RegisterClass(&wndclass))
{
MessageBox(NULL,TEXT("THIS PROGRAM REGQUIRES WINDOWS 98!"),szAppName,MB_ICONERROR);
return 0;
}
//注册成功后创建窗口
hwnd=CreateWindow(szAppName,//WINDOWS CLASS NAME
TEXT("THE HELLO PROGRAM"),//WINDOWS CAPTION
WS_OVERLAPPEDWINDOW,//WINDOWS STYLE
CW_USEDEFAULT,//inital x position
CW_USEDEFAULT,//inital y position
CW_USEDEFAULT,//inital x size
CW_USEDEFAULT,//inital y size
NULL, //PARENT WINDOWS HANDLE
NULL, //WINDOWS MENU HANDLE
hInstance, //handle
NULL);
//显示与更新
ShowWindow(hwnd,iCmdShow);//hwnd
UpdateWindow(hwnd);//hwnd
//启动消息循环
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam, LPARAM lParam)
{
HDC hdc;//接收窗口的目标窗口句柄
PAINTSTRUCT ps;
RECT rect;
switch(message)
{
case WM_PAINT:
hdc=BeginPaint(hwnd,&ps);
GetClientRect(hwnd,&rect);
DrawText(hdc,Text("hello ,windows 98 !"),-1,&rect,
DT_SINGLELINE|DT_CENTER|DT_VCENTER);
EndPaint(hwnd,&ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd ,message,wParam,lParam);
}
问题点数:20、回复次数:9Top
1 楼rainbowinfog(朝夕)回复于 2003-02-01 22:33:21 得分 0
把工程\设置\Link下的ProjectOptions里的subsystem:windows改为:
subsystem:console
Top
2 楼xiaott(我能睡觉吗)回复于 2003-02-01 22:34:50 得分 0
重新建一个工程,重新编译!Top
3 楼kingcom_xu(冷羽)回复于 2003-02-01 22:34:53 得分 0
>>error LNK2001: unresolved external symbol _Text
你可能得包含<TCHAR.h>
>>error LNK2001: unresolved external symbol _main
你得在project->setting->link里把/subsystem:console改为/subsystem:windowsTop
4 楼kingcom_xu(冷羽)回复于 2003-02-01 22:36:36 得分 0
其实在VC的file->new->win32 application->a typical "hello world" application...就能和成上述代码并自动设定好所有的选项了..Top
5 楼pensifia711(pensifia711)回复于 2003-02-01 23:06:16 得分 0
各们大哥,这个错误还是没法解决
hellowin1.obj : error LNK2001: unresolved external symbol _Text
Debug/hellowin1.exe : fatal error LNK1120: 1 unresolved externalsTop
6 楼kingcom_xu(冷羽)回复于 2003-02-01 23:18:09 得分 0
#include <tchar.h>了还不行吗?Top
7 楼pensifia711(pensifia711)回复于 2003-02-01 23:31:42 得分 0
小弟百思不得其解,如何修正这个错误
Top
8 楼jindayu(Idislikework)回复于 2003-02-01 23:44:35 得分 0
CSDN改得我受不了了,请问点那里发帖?????????????Top
9 楼kingcom_xu(冷羽)回复于 2003-02-01 23:59:22 得分 20
我知道了
DrawText(hdc,Text("hello ,windows 98 !"),-1,&rect,
DT_SINGLELINE|DT_CENTER|DT_VCENTER);
Text应该改为TEXTTop
相关问题
- 我编写了一个简单的Proc*C程序,但不知怎样编译执行(NT环境),请指教!
- 请问 pathclass设置正确 语法正确 编译通过 但在执行时 显示"Exception in thread "main" java.lang.NoClassDefFoundError"…………不解
- 这个procedure编译时没错,但执行时出错,这是为什么?请高手们HELP
- 编译能通过 但执行时报错 请各位达人帮忙看看 一个小程序段
- 请问如何把工程编译成可执行的文件??
- !!!怎么编译通过,但是执行exe是会出错呀?
- 我能够编译文件,但是执行却不行~!!!
- 能编译,但不能执行!!!为什么???
- 如何编译执行?
- 编译后,无法执行????




