Anfängerproblem - hallo Welt läuft nicht :-(
-
nimm doch erstmal nen editor, tipp dein programm per hand ein, lege es in einen ordner deiner wahl und kompiliere es per hand.
-
Ich dachte du hast schon in C++ programmiert?da hättest du festellen müssen,das dieser Quelltext ein C-Programm ist und kein C++.
mach es so:#include <iostream> using namespace std; int main(){ cout << "Hallo Welt\n"; cin.get(); return 0; }
speichere es mit der Endung .cpp
und compilieren kannst du es dann so:g++ -o programm programm.cpp
-
ohne editor tippe einfach dies ein:
cat>Hallo_Welt_Programm.cpp //return
#hier tippst du dein Quelltext rein...
#nach den beenden einfach wie oben mit dem entsprechenden dateinamen compilieren....
-
ich glaub ich bin n bissl blöd für Linux. Aber zu meinen Gunsten steht, dass ich erst seit 2 Wochen c++ lehrne
Und noch dazu VC++ verwähnt :-))
also ich hab jetzt 'ne Datei namens "test9.cpp" und in der steht folgendes:
#include "iostream.h" int main() { cout << 'Hello world'; return 0; }
so, dann kompeliere ich das per Hand: g++ -o test test9.cpp
Der Compiler schmeist dann folgendes raus:
linux:~/Projects/test9/src # g++ -o test main.cpp In file included from /usr/include/g++/backward/iostream.h:31, from main.cpp:1: /usr/include/g++/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. main.cpp:6:17: warning: character constant too long for its type linux:~/Projects/test9/src #
Oh Wunder oh Plunder, da bekomme ich sogar ne Executable. Aber da kann ich klicken (KDE) oder auch tippen (Terminal), da passiert gar nichts
wat'n da los
-
so, jetzt sieht mein Code (wenn man das so nennen darf) so aus:
#include <iostream> using namespace std; int main() { cout << "Hello World" << endl; return 0; };
kompeliert: g++ -o test main.cpp
jetzt kommen keine Fehler mehr raus. Aber wenn ich das executable aufrufe
-
Um deinen Satz weiterzuführen.
gibt es mir auf der Konsole "Hello World" aus.
-
Aber wenn ich das executable aufrufe
was sagt er genau? Versuch das Programm mal aus der Konsole aufzurufen ( ./test )
wrf
-
ups... keine Ahnung warum der Satz nur noch halb da ist..
Also da kann ich im KDE drauf klicken wie ich will, oder in der Konsole test eingeben wie ich will, da passiert gar nicht
-
Im KDE wird auch nix passieren, da Du etwas an die Standardausgabe schickst.
Der Code gibt auf der Shell Deines Vertrauens "Hello World" aus. Du weißt, dass Du **./**test schreiben musst?
Grüssle
-
wasrum denn ./test ? dachte wenn man das kompeliert sind das normale executables ?
-
Sinds doch auch. ./ kommt davor, wenn das aktuelle Verzeichnis nicht im Suchpfad (PATH) ist.
-
ohh... hab ich mir dann auch gedacht, das das was mit dem dateisystem zu tun haben muss. entschuldige bitte meine dumme frage. Aber 5 jahre DOS und 15 Jahre Windows .... da muss man einfach manchmal so sachen fragen
So, na dann hoff ich mal, dass es für leichtere (Terminal)- Sachen so weiter geht.
Was mich nun natürlich brennend interessieren würde: Wenn ich jetzt mit Fenstern und Controls arbeiten will, muss ich wahrscheinlich mit GTK arbeiten. Wie geht dass denn vorsich unter Linux. Unter Windows wird einem das ja praktisch mit der Oberflächenentwicklung in den Schoss gelegt... Nun hab ich 15 Jahre Programmiererfahrung mit BASIC (VB und seit 3 Jahren PureBasic). Bin auch fitt mit der WinAPI. Aber wie geht das denn unter Linux und dann noch mit C++?
-
-
ok, wenn ich das nu richtig verstanden habe, ist GTK nur für C. Was ist mit GTK+? Oder ist das das selbe.
Und wenn ich "ordentlich" fürs KDE entwickeln will, und zwar mit c++, muss ich also QT verwenden. Wie siehts denn mit dem Umfang an Steuerelementen und deren Funktionalitäten aus? Es macht mir den Anschein, als würde GTK(+) da mehr bieten??(Übrigens, danke für eure Gedult)
-
Hallo,
ok, wenn ich das nu richtig verstanden habe, ist GTK nur für C. Was ist mit GTK+? Oder ist das das selbe
Ja. Gtkmm ist für C++. Zu deinen anderen Fragen schau mal hier:
http://www.c-plusplus.net/forum/viewtopic.php?t=63291&highlight=framework+geeignet
-
GTK nur für C
Also ich weiss nich wie du es jetzt meinst.Natürlich kannst du mit jedem C++ Kompiler einen C-Quellencode kompilieren, C++ ist ja übermenge von C.
Ich persönlich habe mich kaum mit GTK beschäftigt (eingentlich nur mit QT), aber so weit ich weiss lässt sich GTK in OOP-Programmen schwer verwenden, es geht eher um OOP als um C++.Wie siehts denn mit dem Umfang an Steuerelementen und deren Funktionalitäten aus?
KDE basiert komplett auf QT also kannst du es sehen. Du hast wohl KDE ??
QT ist leider etwas kompliziert beim kompilieren.
QT im gegensatz zu GTK, ist leider nicht frei, mich persönlich stört es nicht weil nur hobby programierer bin, aber man soll sich daüber im klaren sein.
[OFFTOPIC]Bist du strgalt aus dem PureBasic forum ?[/OFFTOPIC]
-
Marcin schrieb:
Ich persönlich habe mich kaum mit GTK beschäftigt (eingentlich nur mit QT), aber so weit ich weiss lässt sich GTK in OOP-Programmen schwer verwenden, es geht eher um OOP als um C++.
In C++-Programmen verwendet man nicht GTK+ (C) sondern GTKmm (C++).
QT im gegensatz zu GTK, ist leider nicht frei, mich persönlich stört es nicht weil nur hobby programierer bin, aber man soll sich daüber im klaren sein.
Blödsinn, QT ist - zumindest unter Unix - OpenSource.
Die Funktionalität von GNOMEmm/ GTKmm und den kdelibs bzw QT ist nahezu exakt die gleiche; im Regelfall tendiere ich für meinen Teil allerdings dazu, GTKmm zu verwenden da es einfach schöner ist als QT.
-
@Marcin
und GTK ist auch Objekt Orientiert, auch wenn es in C programmiert ist
-
@Marcin:
Ja der bin ich
Machst du wohl auch mit PB?@All
hmm.. scheint ja ne verzwickte Sache zu sein. Also ich hattte zuerst gedacht, ich such mir 'n Frameworks aus, das plattformübergreifent (win/Linux) verwendet werden kann. Bin aber wieder davon abgekommen, da es sich unter Win nicht durchsetzenwürde, wenn plötzlich ein Programm mit anderem Aussehren daher kommt - und das würde es ja, wenn ich mit nem anderen Frameworks unter Win arbeite.
Also blieben für mich noch die Voraussetzungen: Ich will in C++ und dem entwprechend OOP entwickeln.
Bleiben also QT und GTKnm. Weiterhin bleibt noch die Kostenfrage. Da ich beruflich entwickle würde mich natürlich interessieren, wo ich was zu zahlen habe.
GTKnm ist ein GTK wrapper... was soll das bedeuten "wrapper"?
-
Bin aber wieder davon abgekommen, da es sich unter Win nicht durchsetzenwürde, wenn plötzlich ein Programm mit anderem Aussehren daher kommt - und das würde es ja, wenn ich mit nem anderen Frameworks unter Win arbeite
das muss nicht sein. Bei GTK ist das so, aber es gibt Frameworks, die auf die Widgets, die Windows zur Verfügung stellt aufsetzen
Weiterhin bleibt noch die Kostenfrage. Da ich beruflich entwickle würde mich natürlich interessieren, wo ich was zu zahlen habe.
Bei Qt musst du für nicht-GPL Software (also Closed Source) Geld bezahlen und unter Windows generell für die 3er Version
GTKnm ist ein GTK wrapper... was soll das bedeuten "wrapper"?
GTKmm!
http://foldoc.doc.ic.ac.uk/foldoc/foldoc.cgi?query=Wrapper&action=Search