C++ Programme unter Linux ?
-
Folgendes Szenario:
Ich erstelle ein c++ Programm (sagen wir mit VS) und möchte den Source unter Linux gcc 3.x kompilieren. Wenn nicht wie oder wieso nicht ?
Geht das?
-
TekCop1 schrieb:
Ich erstelle ein c++ Programm (sagen wir mit VS) und möchte den Source unter Linux gcc 3.x kompilieren. Wenn nicht wie oder wieso nicht ?
Geht das?
Hä? Wenn nicht was dann warum genauer Beschreiben?
Geht das?
-
Sicher kannst Du Deinen mit VisualStudio erstellten Source (versuchen) mit gcc unter Linux kompilieren.
Aber Dein mit VS Programm (!) wirst Du nicht ohne weiteres zum Laufen bringen.Willst Du cross-compilen, oder was?!
-
Bin Neuling was C++ angeht, komme aus der Java Ecke und brauche c++.
Unter Java hatte mein eine JRE die es erlaubt plattformunabhängigen ByteCode auszuführen. Nun stelle ich mir vor das ich ein C++ Programm schreibe und diesen Code auch unter Linux compilieren möchte. In Windows kriege ich ein ausführbare Exe - wunderbar. Aber wie sieht es denn mit den includes aus unter Linux. Vertragen sich die den. Sind die standatisiert? Das eine MFC Anwendung unter Linux nicht laufen wird ist klar, aber wann läuft ein c++ Anwendung unter Linux und wann nicht?
-
Also, vergiss hier Java und Byte-Code, das hilft hier gar nix. g++ ist im Gegensatz zu javac ein Compiler erzeugt OS-Maschine-speziifische Binär Dateien.
Wenn du strict ANSI C, ISO C++ programmierst, dann kannst du die Programme sowohl unter Windows als auch unter Linux/BSD/Mac/etc... kompilieren, das ist genau, was ANSI C/C+* damit erreichen will.
Solltest du aber systemabhängige Funktionen / Structs usw. benutzen oder WinAPI oder MFC kannst du unter linux vergessen, weil diese Bibliotheken nicht unter Linux verfügbar sind (gott sei dank).
Eine C++ läuft unter Windows unter den selben Bediengungen wie unter Windows, ich verstehe nicht ganz, was du mit der letzten Frage meinst. Meinst du die ausführbare Datein? Nein, das geht leider nicht, eine kompilierte Datei ist System-abhängig. Unter Linux gibt es Win32 emmulatoren wie wine, damit kannst du widnows binaries zum Laufen kriegen, aber nicht jedes Windows Programm läuft mit wine und öfters lässt die Emmu sehr viele Wünsche übrig.
Was genau willst du machen?
-
So lange du dich an die ANSI Sachen hälst dürfte es klappen, sobald du aber auf die Idee kommen solltest mit MFC zu programmieren lassen sich die Programme unter Linux nicht mehr kompilieren. Als alternative gibt es hierfür verschiedene Libarys mit denen sich das umgehen lässt. wxWidgets ist zum Beispiel so eine Libary...
-
Ich denke daß es was spezielles wird was über Konsole hinausgeht.
Dann kannst Du ANSI vergessen.Du mußt Ahnung sowohl vom Programmieren unter Windows als auch unter Linux haben.
Du kannst Dir dann den Code mit dem Präprozessor für Linux und Win32 auseinanderzwacken:
Z.B.:
#ifdef _WIN32_ #include <windows.h> // Alles drin was man braucht :) #else #include <sys/***.h> // Linux Zeug. Sockets und Co. #include <sys/bla2.h> #endif
Überall wo sich Win32 und Linux Implementierungen unterscheiden müsstest Du dann so lustige Bedingungen einbauen.
Oder benutzt eine Bibliothek (bzw. mehrere), die sowohl unter Win32 als auch Linux existieren.Aber um Dir da was vorschlagen zu können, solltest Du mal genau erklären, was Du vorhast.