Ported X11 soft from Solaris
Benjamin Riefenstahl
Benjamin.Riefenstahl@epost.de
Sat Oct 26 05:13:00 GMT 2002
Hi Max,
Max Buvry <Max.Buvry@enseeiht.fr> writes:
> LIB = -lSM -lXpm -lXaw -lXmu -lXt -lX11 -lXext -lm -lc -lpq
Don't specify the C runtime libraries, they are implied and adding
them here can only do harm. IOW drop "-lm -lc".
> CFLAGS = -I/usr/include/ -I/usr/X11R6/include/
Same with C runtime header directories. Drop "-I/usr/include".
> [. . .]
>
> $ make
> gcc -O -c -g -Wall -I/usr/include/ -I/usr/X11R6/include/
> gestion_scores.c
> cc1: warning: changing search order for system directory "/usr/include"
> cc1: warning: as it has already been specified as a non-system
> directory
The compiler is irritated because you specified the redundant
"-I/usr/include" in your CFLAGS above.
> gcc -L/usr/X11R6/lib -L/usr/lib -o Tetris dep_horiz.o interface_X.o
> main.o boutons.o tetris.o Scale.o gestion_scores.o rotation.o
> colorer.o lignes_pleines.o -lSM -lXpm -lXaw -lXmu -lXt -lX11 -lXext
> -lm -lc -lpq
The next warnings are because the linker examines the libraries from
left to right *once* only, therefore the order of your "-l" options
matters.
> /usr/X11R6/lib/libXaw.a(Pixmap.o)(.text+0x1d4b):Pixmap.c: undefined
> reference to `_XpmReadFileToPixmap'
Says that libXaw.a reference a symbol that is probably in libXpm.a.
So you need to have -lXaw *before* -lXpm.
> /usr/X11R6/lib/libXt.a(Shell.o)(.text+0x3536):Shell.c: undefined
> reference to `_SmcCloseConnection'
> /usr/X11R6/lib/libXt.a(Shell.o)(.text+0x3617):Shell.c: undefined
> reference to `_SmcModifyCallbacks'
> /usr/X11R6/lib/libXt.a(Shell.o)(.text+0x3626):Shell.c: undefined
> reference to `_SmcClientID'
> /usr/X11R6/lib/libXt.a(Shell.o)(.text+0x3686):Shell.c: undefined
> reference to `_SmcOpenConnection
Similar problems with -lXt and -lSM, I guess.
so long, benny
More information about the Cygwin-xfree
mailing list