请帮帮忙啊 怎么解决啊 我的Borland c++ 编译器 编译console程序一些正常啊 是不是哪里设置有毛病呢??
请帮帮忙啊 怎么解决啊 我的Borland c++ 编译器 编译console程序一些正常啊 是不是哪里设置有毛病呢??
Parameter 'hPrevInstance' 好像提示说这个参数在程序中从来没有用过
但是只不过是警告不是错误,错误是在外部链接,看提示看不出什么,把代码贴上来吧!
代码如下!!!!谢谢斑竹啦
#include <windows.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance, PSTR szCmdLine,int iCmdShow) { static TCHAR szAppName[]=TEXT("HelloWin"); HWND hwnd; MSG msg; 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 requires Windows NT"), szAppName,MB_ICONERROR); return 0; } hwnd=CreateWindow(szAppName, TEXT("The Hello Program"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL); ShowWindow(hwnd,iCmdShow); UpdateWindow(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_CREATE: PlaySound(TEXT("hellowin.wav"),NULL, SND_FILENAME|SND_ASYNC); return 0; case WM_PAINT: hdc=BeginPaint(hwnd,&ps); GetClientRect(hwnd,&rect); DrawText(hdc,TEXT("Hello,Windows 2000!"),-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); }
不好意思我现在在win98下,我的VC和VC.net装在XP上,我还没运行过你的代码
照翻译是Unresolved external '_main' referenced from D:\BORLAND\BCC55\LIB\C0X32.OBJ
你的lib有问题,但是如果你用过没问题,就可能是有些实例builder不支持。
哦!!
谢谢斑竹了
我用VC运行了一下,这句提示错误,大概是播放wav的控件我没插入吧? case WM_CREATE: PlaySound(TEXT("hellowin.wav"),NULL,SND_FILENAME|SND_ASYNC); return 0;
其余的没问题。而由于我手头上没有C++ Builder,实在调试不了,我拿回学校再看看。
对 Borland 的 C++ Builder 我不熟,
不过这个程序在VC下运行时没有问题的。为了使函数 PlaySound()可以运行,需要作以下设置:
Project -> Settings.. -> link -> 在栏(Object/library modules: ) 内的最后添加上 WinMM.lib
这个library 包含了 windows 的 多媒体函数,在project 新创立的时候,这个库是没有自动加进去的,没有这个库,PlaySound 函数将不能正常工作。
在VC下 我也能运行
就是BORLAND下 能编译 不能连接 不知道是不是我哪里没设置好
[此贴子已经被作者于2004-10-07 22:50:43编辑过]
那就是那个WinMM.lib 的连接的问题了,你看看 BC 中连接的设置,我这里没有BC ,无法给你提供更进一步的帮助了。
不过我建议你采用VC,你既然可以用VC,那就用VC吧。VC的编译界面远比BC 来的友好。