Je essaie de compiler ce code source à partir du fichier makefile dans un VPS, mais cela ne fonctionne pas. Le VPS est un CentOS 64 bits
Voici l'erreur complète
# make
gcc -c -O3 -w -DLINUX -I../SDK/amx/ ../SDK/amx/*.c
g++ -c -O3 -w -DLINUX -I../SDK/amx/ ../SDK/*.cpp
g++ -c -O3 -w -DLINUX -I../SDK/amx/ *.cpp
g++ -O2 -fshort-wchar -shared -o "TCP_V1.so" *.o
/usr/bin/ld: TCP-LINUX_V1.o: relocation R_X86_64_32 envers `.rodata.str1.8' ne peut pas être utilisée lors de la création d'un objet partagé; recompiler avec -fPIC
TCP-LINUX_V1.o: ne pouvait pas lire les symboles: Mauvaise valeur
collect2: ld a retourné 1 statut de sortie
make: *** [all] Erreur 1
Voici mon fichier makefile:
GPP=g++
GCC=gcc
OUTFILE="TCP_V1.so"
COMPILE_FLAGS=-c -O3 -w -DLINUX -I../SDK/amx/
all:
$(GCC) $(COMPILE_FLAGS) ../SDK/amx/*.c
$(GPP) $(COMPILE_FLAGS) ../SDK/*.cpp
$(GPP) $(COMPILE_FLAGS) *.cpp
$(GPP) -O2 -fshort-wchar -shared -o $(OUTFILE) *.o
Quelqu'un sait ce qui ne va pas?