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