Bibliotheken richtig finden
-
Hallo!
Versuche meine ersten Schritte unter Linux (SUSE 9.2) als C++ Programmierer.
Und schon Schwierigkeiten: möchte mit "cout" ein HalloWelt schreiben. Und finde nicht, wie das dann mit g++ übersetzt werden kann.
Habe #include <iostream> drin, aber er kennt cout trotzdem nicht....Für sqrt() habe ich den Hinweis gefunden, -lm einzufügen: gcc wurzel.c -lm -o wurzel -> das läuft jetzt! Aber mit dem Versuch -liostream bin ich nicht weiter gekommen....
Über Hinweise freut sich:
Chrischan
-
versuch mal ein "using namespace std;" oder auch "using std::cout;"
(die meisten STL-Komponenten sind Templates, die benötigen keine LIB - aber sie sind standardmäßig im Namespace std)
-
C++-Programme kompiliert man mit g++.
// hello.cpp #include <iostream> int main() { std::cout << "Hello world"; }
Das sollte sich folgendermaßen kompilieren lassen:
g++ -o hello hello.cpp
-
CStoll schrieb:
(die meisten STL-Komponenten sind Templates, die benötigen keine LIB - aber sie sind standardmäßig im Namespace std)
Ob Template oder nicht Template hat mit std gar nix zu tun, es ist einfach (fast) alles aus Standardbibliothek im std-Namespace.
-
nman schrieb:
CStoll schrieb:
(die meisten STL-Komponenten sind Templates, die benötigen keine LIB - aber sie sind standardmäßig im Namespace std)
Ob Template oder nicht Template hat mit std gar nix zu tun, es ist einfach (fast) alles aus Standardbibliothek im std-Namespace.
Da habe ich mich wohl etwas unklar ausgedrückt: STL-Elemente haben keine Extra-Bibliotheksdateien, weil sie Templates sind
(d.h. es wird erst zur Compilezeit festgestellt, welcher Objektcode wirklich benötigt wird).
-
An alle "Antworter"!
Herzlichen Dank - nun läuft es!
Die nächste Frage kommt bestimmt!
Gruß
Chrischan