Ich habe die Antwort schon selbst gefunden: Sie müssen mit kompilieren g++ -arch i386
. Der Linker scheint nur im 32-Bit-Modus zu verlinken.
Verknüpfen von WXWidgets in C ++ unter Mac OSX 10.7-Objekten funktioniert nicht
Für ein plattformübergreifendes Projekt verwenden wir wxwidgets, um eine plattformübergreifende GUI in c ++ zu erstellen. WxWidgets wurde unter Mac OSX 10.7 mit macports installiert. Wir haben keine Probleme mit der Erstellung unseres Quellcodes unter Linux und Windows.
Das Kompilieren unserer verschiedenen Klassen funktioniert auf Mac gut. Wenn wir jedoch versuchen, die Objekte zu verknüpfen, werden folgende Fehler / Warnungen angezeigt:
ld: warning: ignoring file ../../obj/games.o, file was built for unsupported file format which is not the architecture being linked (i386) ld: warning: ignoring file ../../obj/lobby.o, file was built for unsupported file format which is not the architecture being linked (i386) ld: warning: ignoring file ../../obj/ConfigFile.o, file was built for unsupported file format which is not the architecture being linked (i386) ld: warning: ignoring file ../../obj/net.o, file was built for unsupported file format which is not the architecture being linked (i386) ld: warning: ignoring file ../../obj/protocol.o, file was built for unsupported file format which is not the architecture being linked (i386) Undefined symbols for architecture i386: "_main", referenced from: start in crt1.10.6.o ld: symbol(s) not found for architecture i386 collect2: ld returned 1 exit status
Es scheint, als könnte gcc die Dateien nicht verknüpfen. Wenn wir eine Datei gleichzeitig kompilieren und verlinken möchten, erhalten wir ein funktionierendes Programm. Da wir jetzt mehrere Dateien haben, die wir verlinken möchten, können wir dies nicht gleichzeitig tun. Wir verwenden das folgende Makefile:
https://github.com/timvdalen/OGO-2.3/blob/master/src/lobby/Makefile
Dort ist auch unser Quellcode enthalten. Ich verwende folgende Version von gcc:
gcc --version i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.9.00) Copyright (C) 2007 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Hat jemand eine Idee, wie wir diese Dateien verlinken können?
1 Antwort auf die Frage
Verwandte Probleme
-
5
Einige iTunes-Bibliothekselemente auf ein anderes Laufwerk verschieben?
-
3
Wie kann ich iPhoto-Bibliotheken zwischen mehreren Macs synchronisieren?
-
4
Wie kann ich meine iTunes-Mediathek auf eine externe Festplatte umleiten?
-
5
Indizieren Sie ein kostengünstiges NAS unter Windows 7
-
5
Kann ich weitere Genius-Mixes zu iTunes 9 hinzufügen?
-
3
Synchronisieren mehrerer iPods mit derselben iTunes-Mediathek
-
2
MCRYPT mit PHP arbeiten lassen
-
4
Linux-Version von Windows 7-Bibliotheken
-
3
Wie kann ich iTunes nach Alben gruppieren und den Künstler ignorieren?
-
5
Video Player / Bibliothek für Ubuntu mit Bewertungen und Daumen