This is the mail archive of the
cygwin@sourceware.cygnus.com
mailing list for the Cygwin project.
RE: Petzold Example
- To: "'GBradfor'" <GBradfor at fhssmtp dot redstone dot army dot mil>
- Subject: RE: Petzold Example
- From: Colin Peters <colin at bird dot fu dot is dot saga-u dot ac dot jp>
- Date: Wed, 19 Nov 1997 12:29:23 +0900
- Cc: "'GNU-Win32'" <gnu-win32 at cygnus dot com>
GBradfor wrote:
> the following two-step compile:
>
> gcc -c -DSTRICT -o hellowin.obj hellowin.c
> ld -o hellowin.exe hellowin.obj --subsystem windows -luser32 /
> -lgdi32 -L$(GCC_WIN_LIB)
>
> After copying mmsystem.h down from Microsoft's web, Everything
> compiled and linked. I do get this warning, however:
>
> ld: warning: cannot find entry symbol WinMainCRTStartup; defaulting
> to 00401000
>
> Using the "-e mainCRTStartup" as suggested in another post doesn't
> help; the linker can't find that symbol, either.
>
> When I try to run the resulting executable, I get the following error
> message:
>
> A required .DLL file, j.DLL, was not found.
This message indicates, usually, that the list of DLLs to import is corrupt.
And this happens when the dll import list is not properly terminated by
a little piece of code in crt0.o. (NOTE: crt0.o is also the place where the
entry point mainCRTStartup is defined, which is another hint.)
Basically the problem is that you are running ld directly. Generally it is
a better idea to let gcc call the linker by running gcc as if it *was* the
linker. That way all kinds of default options get set, including the linking
of the startup code crt0.o (which you need).
Change this:
> ld -o hellowin.exe hellowin.obj --subsystem windows -luser32 /
> -lgdi32 -L$(GCC_WIN_LIB)
to:
gcc -o hellowin.exe hellowin.o -mwindows
or:
gcc -o hellowin.exe hellowin.o -Wl,--subsystem,windows -luser32 -lgdi32
And things should work, or at least your bugs will change :)
Good luck,
Colin.
-- Colin Peters - Saga Univ. Dept. of Information Science
-- colin@bird.fu.is.saga-u.ac.jp - finger for PGP public key
-- http://www.fu.is.saga-u.ac.jp/~colin/index.html
-- http://www.geocities.com/Tokyo/Towers/6162/
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".