Problème de linkage avec g++
Bonjour :) ,
Voilà, je me remet au C++ car je dois utiliser Qt. Cependant, en faisant un petit programme de test pour voir si je n'avais rien perdu, j'ai remarqué qu'il y a un problème que je comprend pas. Voici le Makefile :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| # makefile
CC = g++
CFLAGS = -Wall -ansi -O3
OBJ = main.o
EXE = programme_test
all: $(EXE)
$(EXE): $(OBJ)
$(CC) $(OBJ) -o $(EXE) $(CFLAGS)
main.o: main.cpp
$(CC) -c main.cpp -o main.o $(CFLAGS)
clean:
rm -rf $(OBJ) $(EXE) |
Mais voici ce que j'obtiens lors du make :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| $ make
g++ main.cpp -o main.o -Wall -ansi
g++ main.o -o programme_test -Wall -ansi
main.o:(.rodata+0x0): définitions multiples de « _fp_hw »
/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../crt1.o:(.rodata+0x0): défini pour la première fois ici
main.o: dans la fonction « __data_start »:
(.data+0x4): définitions multiples de « __dso_handle »
/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/crtbegin.o:(.data+0x0): défini pour la première fois ici
main.o: dans la fonction « _init »:
/var/tmp/portage/sys-libs/glibc-2.5-r4/work/build-default-i686-pc-linux-gnu-nptl/csu/crti.S:36: définitions multiples de « _init »
/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../crti.o:/var/tmp/portage/sys-libs/glibc-2.5-r4/work/build-default-i686-pc-linux-gnu-nptl/csu/crti.S:36: défini pour la première fois ici
main.o: dans la fonction « _start »:
(.text+0x0): définitions multiples de « _start »
/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../crt1.o:(.text+0x0): défini pour la première fois ici
main.o: dans la fonction « _fini »:
/var/tmp/portage/sys-libs/glibc-2.5-r4/work/build-default-i686-pc-linux-gnu-nptl/csu/crti.S:52: définitions multiples de « _fini »
/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../crti.o:/var/tmp/portage/sys-libs/glibc-2.5-r4/work/build-default-i686-pc-linux-gnu-nptl/csu/crti.S:52: défini pour la première fois ici
main.o:(.rodata+0x4): définitions multiples de « _IO_stdin_used »
/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../crt1.o:(.rodata.cst4+0x0): défini pour la première fois ici
main.o: dans la fonction « __data_start »:
(.data+0x0): définitions multiples de « __data_start »
/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../crt1.o:(.data+0x0): défini pour la première fois ici
collect2: ld a retourné 1 code d'état d'exécution
make: *** [programme_test] Erreur 1 |
Si quelqu'un à une idée du problème, merci. :)
GarulfoUnix.