2016-08-07 16 views
1

Ich bin sehr neu in der Programmierung und ich gehe über die Grundlagen der Vektoren. Ich erhalte gerade den Fehler, wenn ich dieses Programm starte "linker Befehl ist mit dem Beendigungscode 1 fehlgeschlagen (benutze -v siehe Aufruf)"Linker Befehl fehlgeschlagen: Duplikat Symbol _main

Jetzt habe ich Beiträge auf diesem gesehen, aber der Xcode, den ich ausführe, ist anscheinend viel anders als der Rest von dir oder ich mache etwas falsch vielleicht? Ich habe mich gefragt, ob jemand den Fehler für mich als Laie austricksen könnte. Auch bin ich mit Xcode 7,3

#include <stdio.h> 
#include <vector> //vector support 
#include <iostream> 
using namespace std; 

int main() 
{ 
vector <int> vec(3,100); 

cout << "Vector size: " << vec.size() << endl; 
cout << "Is empty?: " << vec.empty() << endl; 
cout << "First element: " << vec.at(0) << endl; 

vec.pop_back();   // remove final element 
cout << "Vector size: " << vec.size() << endl; 
cout << "Final element: " << vec.back() << endl; 

vec.clear();   // remove all elements 
cout << "Vector size: " << vec.size() << endl; 

vec.push_back(200); //add an element 
cout << "Vector size: " << vec.size() << endl; 
cout << "First element: " << vec.front() << endl; 
return 0; 
} 

Fehlermeldung:

Ld /Users/Mojo/Library/Developer/Xcode/DerivedData/Project1-eglodkxixcqsglauiwgsasozdrpv/Build/Products/Debug/Project1 normal x86_64 
    cd /Users/Mojo/Desktop/Project1 
    export MACOSX_DEPLOYMENT_TARGET=10.11 
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -L/Users/Mojo/Library/Developer/Xcode/DerivedData/Project1-eglodkxixcqsglauiwgsasozdrpv/Build/Products/Debug -F/Users/Mojo/Library/Developer/Xcode/DerivedData/Project1-eglodkxixcqsglauiwgsasozdrpv/Build/Products/Debug -filelist /Users/Mojo/Library/Developer/Xcode/DerivedData/Project1-eglodkxixcqsglauiwgsasozdrpv/Build/Intermediates/Project1.build/Debug/Project1.build/Objects-normal/x86_64/Project1.LinkFileList -mmacosx-version-min=10.11 -Xlinker -no_deduplicate -stdlib=libc++ -Xlinker -dependency_info -Xlinker /Users/Mojo/Library/Developer/Xcode/DerivedData/Project1-eglodkxixcqsglauiwgsasozdrpv/Build/Intermediates/Project1.build/Debug/Project1.build/Objects-normal/x86_64/Project1_dependency_info.dat -o /Users/Mojo/Library/Developer/Xcode/DerivedData/Project1-eglodkxixcqsglauiwgsasozdrpv/Build/Products/Debug/Project1 

duplicate symbol _main in: 
    /Users/Mojo/Library/Developer/Xcode/DerivedData/Project1-eglodkxixcqsglauiwgsasozdrpv/Build/Intermediates/Project1.build/Debug/Project1.build/Objects-normal/x86_64/Hello.o 
    /Users/Mojo/Library/Developer/Xcode/DerivedData/Project1-eglodkxixcqsglauiwgsasozdrpv/Build/Intermediates/Project1.build/Debug/Project1.build/Objects-normal/x86_64/FirstVector.o 
ld: 1 duplicate symbol for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
+0

Es muss eine andere Nachricht geben. Bitte kopieren Sie die eigentliche Nachricht vollständig, vollständig und unbearbeitet und bearbeiten Sie Ihre Frage, um sie einzuschließen. –

+0

@Mojo Können Sie manuell erstellen und verknüpfen von der Befehlszeile in einem Terminal? –

+0

Ich wüsste nicht wie. Es tut mir leid, wie ich sagte, ich bin SEHR neu bei all dem und ich versuche es mir selbst beizubringen. – Mojo

Antwort

1

Wenn scheint, dass Sie ein einzelnes Projekt mit zwei Haupt-Quelldateien haben, in denen beide Quelldateien main Funktionen enthalten.

Das wird nicht funktionieren, und das ist, was der Linker Ihnen sagt ("doppeltes Symbol _main ..."). Sie müssen die Projekte aufteilen, sodass Sie für jede Hauptquelldatei separate Projekte haben.

+0

Das hat den Trick gemacht! Ich danke dir sehr. – Mojo