Windows <> Linux - Bibliotheken ?!

Hi, also ich habe folgendes Problem:

Ich habe das Buch "C++ in 21 Tagen" und bin bis zum Compilieren des ersten Programms gekommen.
Beim Compilieren bekam ich folgende Fehlermeldung:

Warnung: #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>.

Der Code des kleinen "Hello World" Progamms ist folgender:

#include <iostream.h>

int main()
{
cout << "Hello World!\n";
return 0;
}


(so steht er auch in dem Buch)


Ich nehme mal an, dass die Bibliotheken unter Linux anders heissen als unter Windows, und dass dieses Buch eben mit den Windows-Bibliotheken arbeitet. Ich habe die Blibliotheken für die Programmierung mit C++ bei mir installiert, also sie fehlen nicht.
Jetzt meine Frage (Falls ich mit meiner Annahme richtig liege):
Gibt es irgendwo eine Liste, auf der steht, wie die Windows-Bibliotheken und Linux heissen? Denn ich denke, dass wird nicht die einzige sein, die anders heisst.

Danke schonmal für die Antworten

pHearX
 
Unter Linux heißen dann leider nicht nur die Header anderst, sondern auch die Befehle. Es gibt aber allgemeingültige Header. Das nennt sich ANSI C++. Ich programmiere mit dem Borland Compiler. Da steht in der Hilfe ob was ANSI ist oder nicht.
 
Ja, also in dem Buch steht, dass es sich an den ANSI Standart hält. Müsste das dann nicht unter Linux und Windows gleich sein ?!
 
Hi,

der Compiler weist dich darauf hin, daß der Aufruf

#include <iostream.h>

nach dem neuen C++ Standart "veraltet" ist und schlägt vor die Zeile durch

#include <iostream>

zu ersetzen.

Siehe auch hier
 
okay, also wenn ich das ".h" weglasse kommt nurnoch folgender fehler :D :

hello.cpp: In function `int main()':
hello.cpp:5: error: `cout' undeclared (first use this function)
hello.cpp:5: error: (Each undeclared identifier is reported only once for each
function it appears in.)
 
wie im Link zu sehen, muß nach dem include noch

using namespace std;

angegeben werden.
Sonst müsste es statt "cout" "std::cout" heißen.

Hier im Board sollte es aber Leute geben, die das besser erklären können.
Bin selbst Anfänger :)
 
Stimmt, danke, das hab ich übersehen... allerdings hab ich jetzt einen Haufen neuer Fehlermeldungen ;)

/tmp/ccWOdLyj.o(.text+0x19): In function `main':
: undefined reference to `std::cout'
/tmp/ccWOdLyj.o(.text+0x1e): In function `main':
: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
/tmp/ccWOdLyj.o(.text+0x4a): In function `__static_initialization_and_destruction_0(int, int)':
: undefined reference to `std::ios_base::Init::Init[in-charge]()'
/tmp/ccWOdLyj.o(.text+0x79): In function `__tcf_0':
: undefined reference to `std::ios_base::Init::~Init [in-charge]()'
/tmp/ccWOdLyj.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status


Wäre schön, wenn mir da jemand helfen könnte, allein krieg ich's nicht hin.
 
Zurück
Oben