Ich erhalte den folgenden Fehler in Xcode 3.2.1 auf Snow Leopard 10.6.2, wenn ich versuche, eine iPhone-Anwendung zu kompilieren, die von Appcelerator's Titanium generiert wird. Der Erstellungsfehler wird jedoch nur angezeigt, wenn ich den iPhone-Simulator im Architekturmenü auswähle und wenn ich ein iPhone-Gerät auswähle, kann ich die App auf meinem Gerät ausführen.Xcode duplicate symbol _main
Außerdem startet der iPhone-Simulator erfolgreich und führt das Programm direkt aus der Titanium-Umgebung aus, die Xcode zum Erstellen verwendet.
Warum passiert das?
ld: duplicate symbol _main in Resources/libTitanium.a(main.o) and /Users/prithviraj/Documents/project/Final/build/iphone/build/Final.build/Debug-iphonesimulator/Final.build/Objects-normal/i386/main.o collect2: ld returned 1 exit status Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1
Zur Verdeutlichung ist der Grund, warum Sie den Fehler sehen, dass libTitanium, die primäre Titanium-Bibliotheksdatei, einen "Haupt" -Eintrittspunkt enthält und daher für die Hauptfunktion in main.m redundant ist. Ich bin nicht sicher, warum dieses Problem an anderer Stelle nicht auftritt, aber es muss etwas mit der Art sein, auf die der Compiler von Titanium aufgerufen wird, um in ihren Einstiegspunkt statt den in main.m einzuhaken. – warrenm
Danke Warren, Es funktioniert :) –
In meinem Fall hatte eine Bibliothek, die ich benutze, eine eigene main.m. Kommentiert und es funktioniert –