Croix de la compilation C++ du projet, les Délocalisations dans le générique ELF (EM: 3)

J'ai travaillé sur un projet c++ pour un certain temps maintenant, mais j'aimerais la porter sur mon processeur arm. J'ai déjà tous mes de la croix-outils de compilation (je suis en utilisant CodeSourcery) et pensé que je pourrais juste changer mon makefile de dire que le compilateur. Il compile fine à l'aide de la valeur par défaut g++, mais Lorsque vous essayez une pointant vers le cross-compilateur-je obtenir la réinstallation des erreurs:

/home/oryan/CodeSourcery/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.2/../../../../arm-none-linux-gnueabi/bin/ld: ServerSocket.o: les Délocalisations dans le générique ELF (EM: 3)

ServerSocket.o: impossible de lire les symboles: Fichier en format incorrect

collect2: ld a retourné 1 code de sortie

make: *** [simple_server] Erreur 1

Il semble que je n'ai pas de lien mis en place ou il pointe vers un emplacement incorrect. Je ne suis pas familier avec les makefiles et je suis probablement manquer quelque chose d'évident. Le makefile que j'ai utilisé est de http://tldp.org/LDP/LG/issue74/tougher.html avec le côté client supprimée:

# Makefile for the socket programming example
#

simple_server_objects = ServerSocket.o Socket.o simple_server_main.o

all : simple_server

simple_server: $(simple_server_objects)
         /home/matt/CodeSourcery/bin/arm-none-linux-gnueabi-g++ -o simple_server $(simple_server_objects)


Socket: Socket.cpp
ServerSocket: ServerSocket.cpp
simple_server_main: simple_server_main.cpp

clean:
        rm -f *.o simple_server

Maintenant je suis à compiler manuellement chaque fichier et il fonctionne très bien, mais j'aimerais approfondir ma compréhension.

Merci!

OriginalL'auteur Matt | 2011-11-17