Doc is misleading (was: Simple linking problem)

Matthew Woehlke mw_triad@users.sourceforge.net
Thu May 10 18:27:00 GMT 2007


gccNewbie wrote:
> Matthew Woehlke-3 wrote:
>> Linux lets you get away with this wrong link order due to lazy symbol 
>> resolution, whereas Windows does not. What you have done is asked to 
>> first link to libmylib. Since no objects (actually, you don't *have* any 
>> objects yet!) require any symbols from libmylib, no symbols are 
>> imported. 
> 
> That solved my problem very well! I should have tried that, but it's even
> better to have this explanation of why it works.

Glad it was helpful! :-)

> It's odd that the manual was so deliberately misleading on this! While I was
> trying to solve this myself, I read: "You can mix options and other
> arguments. For the most part, the order you use doesn't matter. Order does
> matter when you use several options of the same kind; for example, if you
> specify -L more than once, the directories are searched in the order
> specified."

Eeeeeeeh... *technically* it isn't wrong (you can mix -W, -f options, 
for example) but I see why it confused you, and I agree that it *really* 
ought to say something about -l being in the 'order can matter' 
category. You are by no means the first person on Windows to get bitten 
by this.

To whoever maintains the doc: we really should add something like "Note 
that the order of objects, including libraries specified by -l, DOES 
matter on some platforms.", perhaps with an even longer explanation as 
well such as what was in my previous post.

-- 
Matthew
"Ah, yes. Control the media and you control the world."
   -- from a story by Raven Blackmane



More information about the Gcc-help mailing list