前提・実現したいこと
Win32APIでウィンドウを表示しようとしたら、エラーが発生しました。
発生している問題・エラーメッセージ
MBox.cpp: In function 'int WinMain(HINSTANCE__*, HINSTANCE__*, TCHAR*, int)': MBox.cpp:30:59: error: '_GetStockObject' was not declared in this scope MBox.cpp: In function 'LRESULT WndProc(HWND__*, UINT, WPARAM, LPARAM)': MBox.cpp:71:50: error: '_TextOut' was not declared in this scope
該当のソースコード
C
1#include <windows.h> 2#include <tchar.h> 3 4/** 5 * ウィンドウプロシージャー 6 */ 7LRESULT CALLBACK WndProc( HWND, UINT, WPARAM, LPARAM ); 8 9TCHAR szClassName[] = TEXT( "line" ); 10/** 11 * メイン関数 12 */ 13int WINAPI _tWinMain( HINSTANCE hInstance, HINSTANCE hPreInst, TCHAR* lpsCmdLine, int nCmdShow ) 14{ 15/* if( MessageBox( 0, TEXT( "hello!" ), TEXT( "message" ), MB_YESNO ) == IDYES ){ 16 MessageBox( 0, TEXT( "yes" ), TEXT( "結果" ), MB_OK ); 17 }*/ 18 HWND hWnd; 19 MSG lpMsg; 20 WNDCLASS wc; 21 22 if( !hPreInst ){ 23 wc.style = CS_HREDRAW | CS_VREDRAW; 24 wc.lpfnWndProc = WndProc; 25 wc.cbClsExtra = 0; 26 wc.cbWndExtra = 0; 27 wc.hInstance = hInstance; 28 wc.hIcon = NULL; 29 wc.hCursor = LoadCursor( NULL, IDC_ARROW ); 30 wc.hbrBackground = (HBRUSH)GetStockObject( WHITE_BRUSH ); 31 wc.lpszMenuName = NULL; 32 wc.lpszClassName = szClassName; 33 if( !RegisterClass( &wc ) ){ 34 return -1; 35 } 36 } 37 38 hWnd = CreateWindow( szClassName, 39 _TEXT( "タイトル" ), 40 WS_OVERLAPPEDWINDOW, 41 CW_USEDEFAULT, 42 CW_USEDEFAULT, 43 CW_USEDEFAULT, 44 CW_USEDEFAULT, 45 NULL, NULL, 46 hInstance, NULL 47 ); 48 ShowWindow( hWnd, nCmdShow ); 49 UpdateWindow( hWnd ); 50 while( GetMessage( &lpMsg, NULL, 0, 0 ) ){ 51 TranslateMessage( &lpMsg ); 52 DispatchMessage( &lpMsg ); 53 } 54 return (int)lpMsg.wParam; 55} 56 57LRESULT CALLBACK WndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ) 58{ 59 HDC hdc; 60 PAINTSTRUCT ps; 61 const TCHAR* buf = TEXT( "Sample" ); 62 63 switch( msg ){ 64 case WM_DESTROY:{ 65 PostQuitMessage( 0 ); 66 break; 67 } 68 case WM_PAINT:{ 69 hdc = BeginPaint( hWnd, &ps ); 70 71 TextOut( hdc, 0, 0, buf, (int)_tcslen( buf ) ); 72 73 EndPaint( hWnd, &ps ); 74 break; 75 } 76 default:{ 77 return( DefWindowProc( hWnd, msg, wParam, lParam ) ); 78 } 79 } 80 return ( 0L ); 81} 82
試したこと
ネットを調べましたが、よくわかりませんでした。
補足情報(FW/ツールのバージョンなど)
Windows10、MinGWです。どちらも64bitです。
MinGW:gcc (GCC) 4.5.4 20111030 (prerelease) [svn/rev.180676 - mingw-w64/oz]

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/18 09:11
2018/10/18 18:03
2018/10/19 08:07
2018/10/19 15:24
2018/10/20 09:05
2018/10/20 09:06
2018/10/20 16:03
2018/10/21 06:37