Markku Kolkka wrote:
Les kirjoitti viestissään (lähetysaika tiistai 19 kesäkuu 2007):
So just to prove that this didn't change anything I tried:
gcc -L X11 GuiExample.cpp
The option is "-lX11", not "-L X11". Linux is case sensitive and
spaces are also significant.
I am sorry, and this is probably clear to some of you, but I
am at a loss to understand why this doesn't work. If I use
gcc, the presence or absence of a library .a or .so shouldn't
matter since the compiler should create the link chain based
on the extern definition, which could be resolved at load
time.
The extern definition doesn't tell which library contains the
symbol, just the function prototype or variable declaration.
_You_ must tell the compiler which libraries to link in order to
resolve the references.
Actually, in this case, case is important but spaces are not
significant; -l X11 or -lX11 will work.
Regards,
John