Delivered-To: listarch-cygwin AT sourceware DOT cygnus DOT com Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com From: v2te2v2 AT us DOT ibm DOT com X-Lotus-FromDomain: IBMUS To: cygwin AT sourceware DOT cygnus DOT com cc: fortinj AT ibm DOT net Message-ID: <8525670E.005B9D87.00@D51MTA08.pok.ibm.com> Date: Thu, 4 Feb 1999 11:36:23 -0500 Subject: make and .exe targets Mime-Version: 1.0 Content-type: text/plain; charset=us-ascii Content-Disposition: inline I'm a bit confused about building .exe targets. I am trying to create a default makefile for building win32 apps. Created the following Makefile. Make comes up with the proper command, but then I get an error opening winhello.exe. See output... When I type the command outside of make it works fine. The program is attached. I am using B20.1 with NT4/SP3. Makefile....... /********************************** .SUFFIXES: .SUFFIXES: .exe .c .c.exe: gcc -mwindows $< -o $@ /********************************** OUTPUT........ D:\home\v2te2v2\test>make winhello.exe gcc -mwindows winhello.c -o winhello.exe /cygnus/CYGWIN~1/H-I586~1/i586-cygwin32/bin/ld: cannot open output file winhello.exe : No such file or directory collect2: ld returned 1 exit status make: *** [winhello.exe] Error 1 ******************************************* Program...... #include LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); #ifdef __CYGWIN__ WinMainCRTStartup() { mainCRTStartup(); }; #endif int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { static char szAppName[]="HelloWin"; HWND hwnd; MSG msg; WNDCLASSEX wndclass; wndclass.cbSize = sizeof(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; wndclass.hIconSm = LoadIcon(NULL, IDI_APPLICATION); RegisterClassEx(&wndclass); hwnd = CreateWindow(szAppName, "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); } /* End while */ return msg.wParam; } LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; RECT rect; switch (iMsg) { case WM_CREATE: // PlaySound("hellowin.wav", NULL, SND_FILENAME | SND_ASYNC); return 0; case WM_PAINT: hdc = BeginPaint(hwnd, &ps); GetClientRect(hwnd, &rect); DrawText(hdc, "Hello, Windows NT", -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER); EndPaint(hwnd, &ps ); return 0; case WM_DESTROY: PostQuitMessage(0); return 0; } /* End switch */ return DefWindowProc(hwnd, iMsg, wParam, lParam); }