C++-Strings in Darwin/GCC?

  1. hairyguy

    hairyguy Thread StarterMacUser Mitglied

    Mitglied seit:
    06.12.2004
    Beiträge:
    1.013
    Zustimmungen:
    14
    Moin!

    Versuche gerade, ein altes Programm (Kommandozeile und Input/Output-Files), dass ich unter Windows mit Cygnus (GCC und GNU-Tools für Win) geschrieben hatte, unter OS X zu kompilieren. Das erste Problem, auf das ich gestoßen bin und für das ich keine Lösung finde:

    Es gibt offensichtlich keinen Typ bzw. Klasse "string"?!? "string.h" ist ein C-Header, "string" ein Template-File, duch das ich nicht durchsteige...

    Jedenfalls, wo im Programm die Zeile

    string EinString;

    auftaucht, bekomme ich die nette Fehlermeldung:

    error: 'string' is used as a type, but is not defined as a type.

    Wo finde ich die Klasse "string", bitte helft mir... :(

    Gruß, hg.
     
    hairyguy, 19.04.2005
  2. oneOeight

    oneOeightMacUser Mitglied

    Mitglied seit:
    23.11.2004
    Beiträge:
    48.176
    Zustimmungen:
    3.891
    wie sehen denn deine includes aus?
    #include <string.h>
    statt
    #include <string>
    ?
     
    oneOeight, 19.04.2005
  3. der grimm

    der grimmMacUser Mitglied

    Mitglied seit:
    10.03.2004
    Beiträge:
    464
    Zustimmungen:
    0
    Also eigentlich sollte es mit einem '#include <string>' getan sein. Dann eben 'std::string meinString;' oder eben vorher noch ein 'using namespace std;' und dann einfach 'string meinString;'...
     
    der grimm, 19.04.2005
  4. hairyguy

    hairyguy Thread StarterMacUser Mitglied

    Mitglied seit:
    06.12.2004
    Beiträge:
    1.013
    Zustimmungen:
    14
    Tatsächlich, vielen Dank, es war ein namespace-Problem! Jetzt läuft der Compiler zwar noch nicht durch (wär ja auch zu schön gewesen), aber ich bin einen Schritt weiter!

    Vielen Dank! hg.
     
    hairyguy, 19.04.2005
  5. hairyguy

    hairyguy Thread StarterMacUser Mitglied

    Mitglied seit:
    06.12.2004
    Beiträge:
    1.013
    Zustimmungen:
    14
    Ach, falls noch jemand hier ist: Jetzt meckert der Compiler bei meinen Templates rum:

    template<class T> void Cl_List<T>::Add(T* P)
    { ... }

    Da sagt er, es würde eine "Redefinition" geben, allerdings hab ich die Member Function "Add" nur ganz normal deklariert im Header File. Hat sich die Syntax für Templates irgendwie geändert?

    Dank und Gruß! hg.
     
    hairyguy, 19.04.2005
Die Seite wird geladen...
Ähnliche Themen - C++ Strings Darwin
  1. Wolfseye
    Antworten:
    16
    Aufrufe:
    346
  2. GeFa
    Antworten:
    9
    Aufrufe:
    603
    Gondomir
    15.08.2016
  3. Saloice
    Antworten:
    4
    Aufrufe:
    577
  4. ZoliTeglas
    Antworten:
    5
    Aufrufe:
    384
    mrthomasd
    13.10.2015
  5. McKean
    Antworten:
    2
    Aufrufe:
    725