From: Keith M. <kei...@us...> - 2008-09-23 19:20:55
|
On Tuesday 23 September 2008 05:20:44 Tonal wrote: > > What is the output from: > > $ gcc -### -mwindows -o nul nul.c > > with default 'specs' file: > Reading specs from C:/Lang/mingw/bin/../lib/gcc/mingw32/3.4.5/specs > [...] Not unexpectedly, this is completely as it should be. > with corrected 'specs' file: I wouldn't describe this as a "corrected" specs file; "adjusted" would be a better description, (although "banjaxed" may be a better fit, in this instance -- with apologies for this departure into my native Anglo-Irish vernacular). > Reading specs from C:/Lang/mingw/bin/../lib/gcc/mingw32/3.4.5/specs > [...] > "C:\\TEMP/cc6ptMfg.o" "-lmingw32" "-lgcc" "-lmoldname" "-lmingwex" > "-lmsvcrt" > "*msvcrt_version:" > "-lgdi32" "-lcomdlg32" "-luser32" "-lkernel32" "-ladvapi32" > "-lshell32" "-lmingw32" "-lgcc" "-lmoldname" "-lmingwex" "-lmsvcrt" > "*msvcrt_version:" > "C:/Lang/mingw/bin/../lib/gcc/mingw32/3.4.5/crtend.o" Thanks, this makes the problem fairly evident. Notice how the spec for "*msvcrt_version" hasn't been correctly parsed, but rather it appears to infiltrate the "*msvcrt:" definition, (and then it, and everything following it, seemed to be discarded from the collect2 invocation, as reported by `gcc -v' in your earlier post). You don't say, but I'm guessing that you copied-and-pasted content from the web page examples, directly into your specs files? Sorry, I should have anticipated that. By doing so, you have introduced stray white space, particularly on those mandatory blank lines -- you need to make sure they are *really* empty. (I've now added a note to this effect, on the web page). > > $ gcc -### -mwindows -specs=msvcr80 -o nul nul.c > > Reading specs from C:/Lang/mingw/bin/../lib/gcc/mingw32/3.4.5/specs > Reading specs from .../mingw/bin/../lib/gcc/mingw32/3.4.5/msvcr80 > [...] > "C:/Lang/mingw/bin/../libexec/gcc/mingw32/3.4.5/collect2.exe" > [...] > "C:\\TEMP/ccIK3Caz.o" "-lmingw32" "-lgcc" "-lmoldname" "-lmingwex" > "-lmsvcr80" > "*msvcrt_version:" > "-D__MSVCRT_VERSION__=0x0800" > "*moldname:" > "moldname80" "-lgdi32" "-lcomdlg32" "-luser32" "-lkernel32" > "-ladvapi32" "-lshell32" "-lmingw32" "-lgcc" "-lmoldname" > "-lmingwex" "-lmsvcr80" > "*msvcrt_version:" > "-D__MSVCRT_VERSION__=0x0800" > "*moldname:" > "moldname80" > "C:/Lang/mingw/bin/../lib/gcc/mingw32/3.4.5/crtend.o" Again, we see the same effect, with the "*msvcrt_version:" and the "*moldname:" specs being subsumed into the "*msvcrt:" definition. Once again, you need to ensure that those mandatory blank lines are really empty, in your msvcr80 specs file. > My environment: Isn't germane, but thanks anyway. Regards, Keith. |