Sie haben einige Antworten erhalten, und die meisten davon sind richtig, aber verpassen Sie, was (glaube ich) hier wahrscheinlich der Punkt ist.
Ich vermute, Sie haben ein Makefile, mit dem Sie eine ausführbare Datei erstellen möchten. Falls Sie mit ihnen nicht vertraut sind, listen Makefiles Abhängigkeiten zwischen Dateien auf. Für einen wirklich einfachen Fall könnte es etwas haben wie:
myprogram.exe: myprogram.o
$(CC) -o myprogram.exe myprogram.o
myprogram.o: myprogram.cpp
$(CC) -c myprogram.cpp
Die erste Zeile sagt, dass das myprogram.exedavon abhängt myprogram.o. Die zweite Zeile zeigt , wie das Erstellen myprogram.exe von myprogram.o . Die dritte und vierte Zeile sagen, myprogram.ohängt davon ab myprogram.cpp, wie und wie myprogram.oaus myprogram.cpp` erstellt werden soll.
Ich vermute, dass Sie in Ihrem Fall ein Makefile wie das oben genannte haben, das für gcc erstellt wurde. Das Problem, auf das Sie stoßen, ist, dass Sie es mit MS VC anstelle von gcc verwenden. MS VC verwendet ".obj" als Erweiterung für seine Objektdateien anstelle von ".o".
Das heißt, wenn make (oder das in Ihrem Fall in die IDE integrierte Äquivalent) versucht, das Programm zu erstellen, werden diese Zeilen überprüft, um herauszufinden, wie es erstellt werden soll myprogram.exe. Um dies zu tun, sieht es, dass es erstellt werden muss myprogram.o, und sucht nach der Regel, die angibt, wie es erstellt werden soll myprogram.o. Das heißt, es sollte die CPP-Datei kompilieren, also macht es das.
Dann brechen die Dinge zusammen - der VC ++ - Compiler produziert myprogram.objstatt myprogram.oals Objektdatei. Wenn er also versucht, mit dem nächsten Schritt fortzufahren, myprogram.exeaus dem er produziert myprogram.o, stellt er fest, dass sein Versuch, etwas zu erstellen, myprogram.oeinfach fehlgeschlagen ist. Es hat getan, was die Regel vorschrieb, aber das hat nicht myprogram.owie versprochen produziert. Es weiß nicht, was es tun soll, daher wird es beendet und es wird eine Fehlermeldung angezeigt.
Die Lösung für dieses spezielle Problem ist wahrscheinlich ziemlich einfach: Bearbeiten Sie die make-Datei so, dass alle Objektdateien die Erweiterung .objanstelle von haben .o. Es gibt Raum für viele Fragen, ob dies alles beheben wird - das kann alles sein, was Sie brauchen, oder es kann einfach zu anderen (wahrscheinlich schwierigeren) Problemen führen.