add tip about -lm order to WinMail@16 entry

This commit is contained in:
David Starks-Browning 2000-12-12 16:05:30 +00:00
parent 9972a88b3f
commit 5c8836b916
1 changed files with 22 additions and 4 deletions

View File

@ -44,13 +44,31 @@ MAKE_MODE to "UNIX" (actually case is not significant) or "WIN32"
(actually anything other than "UNIX"). You can also specify the options (actually anything other than "UNIX"). You can also specify the options
--unix or --win32 on the make command line. --unix or --win32 on the make command line.
@subsection Why the undefined reference to "WinMain@@16"? @subsection Why the undefined reference to @samp{WinMain@@16}?
@strong{(Please note: This section has not yet been updated for the latest
net release.)}
Try adding an empty main() function to one of your sources. Try adding an empty main() function to one of your sources.
Or, perhaps you have @samp{-lm} too early in the link command line. It
should be at the end:
@example
bash$ gcc hello.c -lm
bash$ ./a.exe
Hello World!
@end example
works, but
@example
bash$ gcc -lm hello.c
/c/TEMP/ccjLEGlU.o(.text+0x10):hello.c: multiple definition of `main'
/usr/lib/libm.a(libcmain.o)(.text+0x0):libcmain.c: first defined here
/usr/lib/libm.a(libcmain.o)(.text+0x6a):libcmain.c: undefined reference to `WinMain@16'
collect2: ld returned 1 exit status
@end example
This is an artifact of libm.a being a symbolic link to libcygwin.a.
@subsection How do I use Win32 API calls? @subsection How do I use Win32 API calls?
@strong{(Please note: This section has not yet been updated for the latest @strong{(Please note: This section has not yet been updated for the latest