This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Doc is misleading


Matthew Woehlke wrote:
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.

Perhaps reading this would be helpful:


http://sourceware.org/binutils/docs-2.17/ld/Options.html

I think it explains how it works.

David Daney


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]