C++ Compiler Problem (3.2.2); neue Syntax

Dieses Thema im Forum "C/C++" wurde erstellt von Wizard, 14.07.2003.

  1. Wizard

    Wizard Tripel-As

    Dabei seit:
    21.01.2003
    Beiträge:
    234
    Zustimmungen:
    0
    Hallo!
    Ich habe ein generelles Compiler-Problem mit C++.

    Mein System:
    Mandrake Linux 9.1, Kernel 2.4.21-pre
    gcc-3.2.2-3mdk
    gcc-c++-3.2.2-3mdk

    Es schienen sich mit der neuen 3er Version von gcc einige Sachen geändert zu haben.

    Beispiel:
    Ich kompiliere ein einfaches hello-world-Programm:

    Code:
    #include <iostream.h>
     
    int main()
    {
            cout << "hallo welt\n";
    }
    
    Der Compiler arbeitet zwar anstandslos, gibt aber den Hinweis aus, dass diese Systax veraltet sei.
    Nach einiger Recherche habe ich dann erfahren, dass die neue Syntax folgendermaßen aussieht:

    Code:
    #include <iostream>
     
    int main()
    {
            std::cout << "hallo welt\n";
    }
    
    Ich suche daher ein verlässliches Tutorial, dass die neuen Konventionen berücksichtigt.

    Zweitens: Alle Programme, die auf dem C++-Compiler aufbauen, melden Fehler beim kompilieren (möglicherweise wegen der neuen Syntax): Glade, Anjuta und Kylix C++ Builder (Syntaxfehler). Wie kann ich hier Libraries linken bzw. die Programme patchen, damit sie mit gcc-c++-3.2.2 funktionieren?
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 megamimi, 14.07.2003
    megamimi

    megamimi Nörgler vom Dienst

    Dabei seit:
    12.01.2003
    Beiträge:
    469
    Zustimmungen:
    0
    Ort:
    /home/megamimi
    hi...

    Also normalerweise heißt es ja auch:

    Code:
    #include<iostream>
    [b]using namespace std;[/b]
    
    int main(){
                 cout << "Hallo Welt\n";
                 return 0;
    }
    
    Versuch es mal so.

    cu mimi
     
  4. Andre

    Andre Foren Gott
    Moderator

    Dabei seit:
    01.04.2002
    Beiträge:
    3.876
    Zustimmungen:
    0
  5. #4 daniel-kun, 14.07.2003
    daniel-kun

    daniel-kun Jungspund

    Dabei seit:
    19.06.2003
    Beiträge:
    15
    Zustimmungen:
    0
    Ort:
    Germany/NRW
    Hallo,

    Die von dir genannten Programme sollten fein mit gcc 3.2.2 compilieren.
    Zeig doch bitte mal die (vermeintlichen) Syntaxfehler.

    cu, Daniel
     
  6. Wizard

    Wizard Tripel-As

    Dabei seit:
    21.01.2003
    Beiträge:
    234
    Zustimmungen:
    0
    Vielen Dank erstmal, die bisherigen Hinweise waren schon sehr hilfreeich.

    Zu den Fehlermeldungen:
    Kylix meldet in Library time.h:

    __BEGIN_NAMESPACE_STD
    /* Returned by `clock'. */
    typedef __clock_t clock_t;

    Letzte Zeile führt zum Fehler:

    [C++ Fehler] time.h(63): E2141 Fehler in der Deklarationssyntax

    Ich habe noch nichts editiert, lediglich Kylix C++ Builder gestartet und versucht zu kompilieren. Gleichzeitig werden noch viel mehr Fehler angezeigt, alle verweisen auf Library time.h.
     
  7. Wizard

    Wizard Tripel-As

    Dabei seit:
    21.01.2003
    Beiträge:
    234
    Zustimmungen:
    0
    Ich habe bei Borland eine Seite gefunden, die den Fehler beschreibt:

    http://bdn.borland.com/article/0,1410,29306,00.html

    Ich werde daraus aber nicht wirklich schlau. Ich habe wie beschrieben in den Projekt-Optionen beim Include-Pfade /usr/include: vorangestellt. Probeweise auch die genannten Pfade. Jetzt erhalte ich die NAchricht über einen fatalen Fehler...
     
  8. Andre

    Andre Foren Gott
    Moderator

    Dabei seit:
    01.04.2002
    Beiträge:
    3.876
    Zustimmungen:
    0
    du sollst das nur an erster stelle einfügen...nicht als prefix für die anderen?!

    es liegen eben mehrere(verschiedene) time.h im system...und hier ist es wohl wichtig das die version aus /usr/include benutzt wird und keine andere
     
  9. Wizard

    Wizard Tripel-As

    Dabei seit:
    21.01.2003
    Beiträge:
    234
    Zustimmungen:
    0
    Die Einstellung bei Projekt - Optionen - Verzeichnisse/Bedingungen sieht folgendermaßen aus:

    $(BCB)/include/stlport:$(BCB)/include:$(BCB)/include/vcl:/usr/include

    Wenn ich /usr/include: voranstelle, löst das nicht das Problem.
     
  10. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  11. Andre

    Andre Foren Gott
    Moderator

    Dabei seit:
    01.04.2002
    Beiträge:
    3.876
    Zustimmungen:
    0
    versuch mal so:
    $(BCB)/usr/include:$(BCB)/include/stlport:$(BCB)/include:$(BCB)/include/vcl
     
  12. Wizard

    Wizard Tripel-As

    Dabei seit:
    21.01.2003
    Beiträge:
    234
    Zustimmungen:
    0
    Leider hatteich damit keinen Erfolg.

    Aber sowieso werde ich in nächster Zeit wahrscheinlich nur Konsolen-Anwendungen schreiben. Wenn ich das Problem dennoch lösen kann, melde ich mich wieder, ansonsten warte ich auf das nächste Release.
     
Thema:

C++ Compiler Problem (3.2.2); neue Syntax

Die Seite wird geladen...

C++ Compiler Problem (3.2.2); neue Syntax - Ähnliche Themen

  1. Compiler Problem: cannot find -lexpat collect2: ld returned 1 exit status

    Compiler Problem: cannot find -lexpat collect2: ld returned 1 exit status: hallo liebe leute, ich kriege in letzter zeit immer probleme beim kompillieren von Programmen aus dem Sourcecode. Und zwar taucht dann zumeist...
  2. Compiler-Problem

    Compiler-Problem: Hi, ich versuche jetzt schon ziemlich lang, aber mein Compiler spuckt immer komische Sachen aus, und ich weiss net wieso. #include <stdio.h>...
  3. Compiler Problem

    Compiler Problem: Ich habe folgenden Source Code, und kann den irgendwie net kompilieren, Compiler gibt immer Fehler aus, wo meiner Meinung nach keine sind....
  4. Problem mit Compiler bei ./configure... x includes

    Problem mit Compiler bei ./configure... x includes: Hi, also ich hab folgendes Problem... wollte ein Theme für KDE compilieren, hab also entpackt, bin mit der Konsole in den Ordner und gab den Code...
  5. Problem mit dem C Compiler

    Problem mit dem C Compiler: Da KXDocker auf Edgy nicht mehr wirklich laufen soll, wollte ich alternativ dann KSmoothDock installieren. Bei der Installation kam dann jedoch...