Include Turbo C++ unter DosBox (PSP)



  • Hallo Community,

    Vor einigen Wochen habe ich begonnen in C++ Programmieren zu lernen. Gestern stieß ich dann auf die Möglichkeit, Code auf der Playstation Portable (PSP) via DosBox und Turbo C++ zu schreiben und auszuführen. Ich versuchte das Ganze dann auch sofort.

    Ich hielt mich dabei an die folgende Anleitung:
    Turbo C++ PSP Tutorial

    Zuerst hatte ich dann einige leichte Probleme bei der Texteingabe, alles Andere funktionierte aber einwandfrei.

    Als ich mich dann aber ans Kompilieren meines ersten Codes machte, erhielt ich die folgende Fehlermeldung:

    Unable to open include file 'iostream'

    Mein Code war allerdings korrekt und ließ sich am PC mit Code::Blocks normal ausführen.

    #include <iostream.h>
    
    int main()
    {
    cout << "Turbo C++ Is cool ;D \n \n";
    
    cout << "Press Enter to Continue...";
    cin.get();
    
    return 0;
    }
    

    Den Code habe ich aus folgendem Video übernommen, in welchem er auch funktioniert.

    Video mit Code

    Jetzt meine Frage:

    Wieso funktioniert mein include Befehl nicht, obwohl ich mich beim Installieren genau an das Video gehalten habe? Ich habe auch schon alle möglichen Kombinationen ausprobiert, wie <iostream.h> <iostream> <IOSTREAM.h> "iostream" "iostream.h" oder "IOSTREAM.h"

    In den Directory Informationen von Turbo C++ ist bei "Include Directories" genau der Dateipfad ausgewählt in dem sich die Include Dateien befinden.

    Edit: Habe jetzt mal einen Code ohne iostream benutzt, bekomme jetzt keinen Fehler beim Kompilieren sondern beim Linken.

    Unable to open file C0S.OBJ

    Der Code ist:

    int main()
    {
    return 6;
    }
    

    Habe die jeweils fehlenden Dateien auch mal am Computer gesucht als die PSP angeschlossen war und sie auch gefunden, genau in dem Dateipfad der auf der PSP eingestellt ist (für LIB und INCLUDE), es ist aus irgendeinem Grund nur nicht möglich diese auf der PSP per Turbo C++ zu finden und aufzurufen bzw. sie überhaupt per DosBox bereitzustellen.

    LG und schon mal Danke für alle Antworten
    -Scratchy*



  • Der Turbo C++ 3.0, den du nutzen willst ist etwa 20 Jahre alt. Der wurde geschrieben um damit DOS-Programme zu erstellen. Seither ist C++ deutlich erweitert und geändert worden worden.

    Damals wurden bei vielen populären Compilern noch die Header aus der vor STL-Zeit mit der Endung ".h", ".hpp" oder vergleichbare verwendet.

    Also Turbo C++ 3.0:

    #include<iostream.h>
    

    heute standard-konform:

    #include<iostream>
    

    Nur um das abzuklären:
    versuchst du den Turbo C++ 3.0 auf deinem PC zu nutzen oder auf deiner PSP?
    Das Ergebnis soll auf der PSP laufen gehe ich mal davon aus.

    Was noch Probleme machen könnte:
    DOS kannte keine Leerzeichen bei Ordner oder Dateinamen.
    Ordnernamen dürfen nur 8 Zeichen lang sein und die maximale Verzeichnistiefe war auch begrenzt.
    max. Verzeichnistiefe 7 😕
    Dateinamen 8+3 👍

    Bei Funktionsnamen im Quelltext wurden nur die ersten 8 Zeichen ausgewertet.

    Falls ihr Zeichen bei Dateinamen oder Funktionsnamen abseits von a...z oder 0..9
    wählt, prüfen ob das daran liegt. DOS verträgt da ein paar Zeichen weniger als Windows.

    MfG f.-th.



  • Danke für deine Antwort.

    Ich habe mir DosBox und Turbo C++ auf der PSP installiert, diese funktionieren auch und ich sehe die Oberfläche von Turbo C++ wie im zweiten Video. Ich versuche also nicht am Computer etwas für die PSP zu programmieren sondern auf der PSP selbst.

    Gibt es denn eine neuere Version von Turbo C++ oder einer anderen IDE die auf der PSP unter DosBox lauffähig ist.

    Was noch Probleme machen könnte:
    DOS kannte keine Leerzeichen bei Ordner oder Dateinamen.
    Ordnernamen dürfen nur 8 Zeichen lang sein und die maximale Verzeichnistiefe war auch begrenzt.
    max. Verzeichnistiefe 7 😕
    Dateinamen 8+3 👍

    Der Befehl #include <iostream.h> und auch meine anderen Kombinationen (siehe Erstpost) verstößt aber eigentlich nicht gegen diese Regeln und die max. Verzeichnistiefe liegt auch nur bei 4.



  • PSP ist für mich unbekanntes Gebiet.
    Der bisherige Beitrag bezog sich allgemein auf Turbo C++ 3.0

    Hab mal kurz gestöbert zu PSP - neuere Turbo C++ Versionen als 3.0 ( oder 3.1 )
    benötigen deutlich mehr Platz. Ohne Gewähr: die IDE brauchte ab Turbo C++ 4.0 auch Win32.

    Denke aus Platzgründen macht es nicht viel Sinn eine neuere Turbo c++ Version dafür zu wählen. Ausserdem gibt/gab es für Turbo C++ 3.0 relativ viel Quelltext.
    Okay meist sollte der 3.0 Quelltext auf den neueren Turbo C++ auch compilierbar sein. Aber meist brauch man zu einen mehr Platz und mehr Rechenleistung.

    Nachtrag: Es gab auch noch eine Schülerversion Turbo C++ 4.5 für Windows 3.1 😕 Aber auch da braucht die IDE mehr Platz, da nicht mehr zeichen- sondern grafikorientiert 😕 Ist schon Jahre her 😉 Die IDE war voreingestellt auf ausführbare Dateien unter Windows. Ob man das umstellen konnte für DOS?

    MfG f.-th.



  • Danke für die Mühe, werde ich gleich mal ausprobieren wenn ich daheim bin, ich gebe dann Bescheid ob es funktioniert. Vielleicht findet sich ja sonst noch jemand der mit helfen kann.

    Edit: Habe die Lösung jetzt gefunden, falls es noch jemand wissen will, man musste unter Optionen -> Directories den Laufwerksbuchstaben ändern, aber nicht auf den selben wie am Computer, sondern auf den der bei Compile -> Information angezeigt wird.


Anmelden zum Antworten