Gcc problem on FC6
Ralf Corsepius
rc040203 at freenet.de
Wed Jun 20 04:01:58 UTC 2007
On Tue, 2007-06-19 at 16:47 -0700, Les wrote:
> On Wed, 2007-06-20 at 00:36 +0300, 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.
> >
> I wasn't aware that gcc had combined the linker with the precompiler and
> compiler. OK. Here is the result with the lowercase l. This did not
> appear to work either, so I tried it in several combinations:
>
> $ gcc -l/usr/lib/libX11.so GuiExample.cpp
> /usr/bin/ld: cannot find -l/usr/lib/libX11.so
> collect2: ld returned 1 exit status
> $ gcc -l /usr/lib/libX11.so GuiExample.cpp
> /usr/bin/ld: cannot find -l/usr/lib/libX11.so
> collect2: ld returned 1 exit status
> $ gcc -llibX11 GuiExample.cpp
> /usr/bin/ld: cannot find -llibX11
> collect2: ld returned 1 exit status
You want
g++ GuiExample.cpp -lX11
Ralf
More information about the fedora-list
mailing list