Probleme beim einfachen Hell World



  • Hi,

    ich versuche gerade ein einfaches hello world Programm unter c++ zum laufen zu kriegen. Mit dem C Programm lief alles wunderbar. Hier nun mein C++ Code:

    #include <iostream.h>
    
    using namespace std;
    
    int main(void)
    {
      cout << "hallo" << endl;
    
      return 0;
    
    }
    

    Die Datei heisst caps2.cc und kompilieren tue ich sie so:

    gcc -o caps2 caps2.cc

    Das gibt mein Monitor nun aus:

    In file included from /usr/local/lang/gnu4/lib/gcc-lib/sparc-sun-solaris2.8/3.3.1/include/c++/backward/iostream.h:31,
    from caps2.cc:1:
    /usr/local/lang/gnu4/lib/gcc-lib/sparc-sun-solaris2.8/3.3.1/include/c++/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
    /var/tmp//cccKbLeg.o(.text+0xe0): In function main': : undefined reference tostd::cout'
    /var/tmp//cccKbLeg.o(.text+0xe4): In function main': : undefined reference tostd::cout'
    /var/tmp//cccKbLeg.o(.text+0xf0): In function main': : undefined reference tostd::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
    /var/tmp//cccKbLeg.o(.text+0x100): In function main': : undefined reference tostd::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
    /var/tmp//cccKbLeg.o(.text+0x104): In function main': : undefined reference tostd::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
    /var/tmp//cccKbLeg.o(.text+0x108): In function main': : undefined reference tostd::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
    /var/tmp//cccKbLeg.o(.text+0x15c): In function \_\_static\_initialization\_and\_destruction_0(int, int)': : undefined reference tostd::ios_base::Init::Init[in-charge]()'
    /var/tmp//cccKbLeg.o(.text+0x194): In function \_\_static\_initialization\_and\_destruction_0(int, int)': : undefined reference tostd::ios_base::Init::~Init [in-charge]()'
    /var/tmp//cccKbLeg.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
    collect2: ld returned 1 exit status

    Wieso lasst sich mein Ding so nicht kompilieren?

    Max Power



    1. iostream ohne .h
    2. g++ nicht gcc aufrufen
      (3) das void bei int main(void) ist überflüssig, und das return 0; auch)

Anmelden zum Antworten