Gcc muckt -- Downloadfehler bei Cygwin?

Hi all,
ich habe mir jetzt also nach mehrstündigem Download Cygwin mit gcc installiert. Und da wollte ich ein Testprogramm kompilieren, das sah so aus:

#include 

int main()
{
 cout 
Das wurde nicht kompiliert wegen unbekanntem Bezeichner cout. Nach eingefügtem "using namespace std;" kamen dann aber folgende Meldungen:


    /ccMIiVA1.o:hello.cpp:frowning:.text+0xd): undefined reference to `std::basic\_string, std::allocator \>::size() const'
    /ccMIiVA1.o:hello.cpp:frowning:.text+0x60): undefined reference to `std::basic\_string, std::allocator \>::operator[](unsigned int) const'
    /ccMIiVA1.o:hello.cpp:frowning:.text+0x9f): undefined reference to `std::basic\_string, std::allocator \>::operator[](unsigned int) const'
    /ccMIiVA1.o:hello.cpp:frowning:.text+0xce): undefined reference to `std::basic\_string, std::allocator \>::operator[](unsigned int) const'
    /ccMIiVA1.o:hello.cpp:frowning:.text+0x135): undefined reference to `std::cout'
    /ccMIiVA1.o:hello.cpp:frowning:.text+0x13a): undefined reference to `std::basic\_ostream \>& std::operator \>(std::basic\_ostream \>&, char const\*)'
    /ccMIiVA1.o:hello.cpp:frowning:.text+0x163): undefined reference to `std::ios\_base::Init::Init()'
    /ccMIiVA1.o:hello.cpp:frowning:.text+0x17e): undefined reference to `std::ios\_base::Init::~Init()'
    collect2: ld returned 1 exit status


Die Datei, die den Fehler meldete, hatte einen viel längeren Pfad, den ich aus Platzgründen gekürzt habe. Es war mein %temp%-Pfad
Ich vermute einen Downloadfehler, aber wie kann ich den beheben, ohne erneut mehrere Stunden Downloadzeit verstreichen zu lassen?
tia und tschö,
nullplan

Hallo

ich habe mir jetzt also nach mehrstündigem Download Cygwin mit
gcc installiert.


collect2: ld returned 1 exit status

Du hast die c+±Bibliotheken
nicht installiert oder nicht
richtig involviert?

Das Kompilieren hat demnach geklappt, das
Linken aber nicht. Was hast Du bei Cygwin
alles installiert?

Grüße

CMБ

Du hast das Programm mit gcc compiliert, und nicht mit g++, richtig? gcc linkt von sich aus nur gegen die C-Standardbibliothek, nicht gegen die für C++. Für C++ verwendet man normalerweise g++ (also sowas wie „g++ -o progname progname.cpp“). Wenn du aus irgendeinem abgedrehten Grund gcc verwenden willst/musst, dann musst du per -lstdc++ noch die C+±Standardbibliothek einbinden.

Mein Problem gestern war 1., dass Windows zum Start minimal länger brauchte, so 3-4 min. Und 2. war meine Platte voll. Erstmal habe ich Cygwin weggehauen, dann DJGPP runtergeladen. Das dauerte minimal kürzer als Cygwin (gut, für Cygwin habe ich von Mittagessen bis Abendbrot gebraucht, für djgpp bloß von Frühstück bis jetzt) und dann habe ich noch etwas rumprobiert und herausgefunden, dass das bei djgpp nicht g++, sondern gpp ist. Auch gut. Jedenfalls prob solved, und das ist die Hauptsache.
cya,
nullplan

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]