Visual Studio Code - returned 1 exit status?

3 Antworten

Der Code ist in Ordnung, und der Compiler meckert auch nicht. Es ist der Linker: Ihm fehlt die übersetzte Funktion min(int, int).

Sag dem Visual Studio, dass die Datei header.cpp zum Projekt gehört, also auch übersetzt werden soll.


HappyLanding 
Beitragsersteller
 01.02.2023, 23:36

Hallo Ralph, wie genau mache ich das? Die cpp Datei inkludiert man ja normalerweise nicht in der Main.
lg

ralphdieter  01.02.2023, 23:40
@HappyLanding

Du hast irgendwo im Studio ein Projektfenster, in dem alle Dateien, die dazu gehören, aufgelistet sind. Dort steht momentan nur main.cpp, und vielleicht header.h. Die Datei header.cpp muss auch dazu. Vermutlich rechte Maustaste, Datei(en) zum Projekt hinzufügen, ...

HappyLanding 
Beitragsersteller
 01.02.2023, 23:47
@ralphdieter

Hmm, also die Files sind alle in einem Verzeichnis und dementsprechend auch alle in dem Projektfolder offen in VS

ralphdieter  02.02.2023, 00:10
@HappyLanding

Nicht verwechseln: Die Dateiansicht zeigt alle Dateien im Verzeichnis. Die Projektansicht zeigt den Bauplan, und da muss header.cpp auch rein. Gibt es da vielleicht zwei Reiter?

HappyLanding 
Beitragsersteller
 02.02.2023, 20:18
@ralphdieter

Also ich habe mich dazu entschlossen alles nochmal zu deinstallieren vllt mal eine IDE wie VS 2022 draufzuspielen. Mal sehen ob es klappt

HappyLanding 
Beitragsersteller
 03.02.2023, 02:36
@HappyLanding

@ralphdieter Tatsächlich läuft es unter VS 2022 (wie erwartet) ohne Probleme. Jedoch ist VS 22 eine komplette IDE und kein Editor :/

danke dennoch für all die Mühe

Du musst in der .cpp auch immer die entsprechende Header-Datei einbinden.

Woher ich das weiß:Studium / Ausbildung – Trust me, I'm an engineer

HappyLanding 
Beitragsersteller
 01.02.2023, 23:03

Dies hat leider nicht geklappt, darüber hinaus wird doch die Header.cpp dadurch mit includiert, dass ich die Header.h, wo auch der Prototyp der Funktion deklariert ist, in der main drin habe oder etwa nicht ?

Ich bin mir nicht sicher aber ig es muss so sein:

Main.cpp:

#include "Header.h"
#include <iostream>
using namespace std;

int main()
{
cout<<max(5,6);
return 0;
}

header.cpp:

#include <math>
int max(int Zahl1,Zahl2) 
{//irgentwas machen 
return 0;
}

Header.h:

extern int max(int Zahl1,Zahl2);
Woher ich das weiß:eigene Erfahrung – Ich bin schon länger auf diesen Gebieten unterwegs.