ビルドエラー – プログラミング – Home

通知
すべてクリア

ビルドエラー


アテネ
 アテネ
(@アテネ)
ゲスト
結合: 21年前
投稿: 1
Topic starter  

Win32 APIでhello Windowsと表示するだけの簡単なプログラムをサンプル通りに作成し
たのですが、ビルドする際に以下のようなエラーがでます。

LIBCD.lib(wincrt0.obj) : error LNK2001: 外部シンボル _WinMain@16 は未解決です
Debug/hellowindows.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラー

開発環境はWindows XP, VC++ 6.0, Win32 Applicationです。
原因、解決方法がわかる方がいらっしゃいましたら、教えてください。

ソースは少し長いのですが、以下のものです。
#include <windows.h>

LRESULT CALLBACK WndProc( HWND, UINT, WPARAM, LPARAM ); //ウィンドウプロ
シージャの宣言

int WINAPI Winmain( HINSTANCE hi, HINSTANCE, LPSTR, int ) //第1引数以外は使わな

{
WNDCLASSEX wc; //新しく
つくるウィンドウクラス用
wc.cbSize = sizeof(WNDCLASSEX); //WNDCLASSEXの大
きさ
wc.style = 0; //拡張ス
タイルなし
wc.lpfnWndProc = WndProc; //このク
ラスの持つウィンドウプロシージャ
wc.cbClsExtra = 0; //追加領
域なし
wc.cbWndExtra = 0; //追加領
域なし
wc.hInstance = hi;
wc.hIcon = LoadIcon ( NULL, IDI_APPLICATION );
wc.hIconSm = LoadIcon ( NULL, IDI_WINLOGO );
wc.hCursor = LoadCursor ( NULL, IDC_ARROW );
wc.hbrBackground = (HBRUSH)GetStockObject( WHITE_BRUSH );
wc.lpszMenuName = NULL; //メニュ
ーなし
wc.lpszClassName = wh04; //このウィンドウクラス
の名前
if(! RegisterClassEx( & wc )) return 0; //ウィンドウクラスの登

//できないと終了
CreateWindow( wh04, //クラス
の名前
定番hello, //キャプ
ションの内容
WS_OVERLAPPEDWINDOW | WS_VISIBLE, //ウィンドウの属
性、初期状態は表示
CW_USEDEFAULT, CW_USEDEFAULT, //位置、大きさは
指定しない
CW_USEDEFAULT, CW_USEDEFAULT,
//WS_OVERRAPPEDWINDOWのときのみ可
HWND_DESKTOP, //
親はデスクトップ
NULL, //
メニューハンドルなし
hi,
//インスタンス
NULL );
//ウィンドウプロシージャへ

//渡すパラメータなし
MSG msg;
while( GetMessage( &msg, NULL, 0, 0 ) ) {
TranslateMessage( &msg );
DispatchMessage( &msg );
}

return msg.wParam ;
}

LRESULT CALLBACK WndProc( HWND hwnd, UINT imsg, WPARAM wp, LPARAM lp )
{
switch( imsg ){

case WM_PAINT:{
PAINTSTRUCT ps;
char *p = hello Windows;

BeginPaint( hwnd, &ps );
TextOut( ps.hdc, 10, 10, 0, strlen( p ));
EndPaint( hwnd, &ps );
break;
}
case WM_DESTROY: //必ず必要、dEFwINDOWpROCで
は処理されない
PostQuitMessage( 0 ); //メッセージループを終了させる
break;

default:
return DefWindowProc( hwnd, imsg, wp, lp );
}
return 0;
}


引用解決済
トピックタグ
SunPac
 SunPac
(@SunPac)
ゲスト
結合: 22年前
投稿: 105
 

WinMainがないですけど・・・
WinmainとWinMainは別の関数とみなされますよ。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました