1Danke
ERLEDIGT
JA
JA
ANTWORTEN
4
4
ZUGRIFFE
799
799
EMPFEHLEN
-
04.05.10 10:59 #1
- Registriert seit
- Mar 2009
- Ort
- Lilienthal(Niedersachsen)
- Beiträge
- 41
Ich möchte meinen Quelltext so schreiben, dass er auf Windows und auf Linux ohne änderung kompiliert werden kann.
Ich wollte das ganze mit #if defined machen.
Code :1 2 3 4 5 6 7
#if defined linux || __linux || __linux__ || __GNU__ // Linux spezifisches #end if #if defined __WIN32__ || _MSC_VER // Windows spezifisches #endif
Geht so wie ich das habe?
-
Wenn du plattformunabhängig programmieren willst, verwende doch das GNU C++. Die Oberfläche kannst du dann mit wxWidgets oder etwas ähnlichem realisieren.
Vielen Dank für die Nutzung des Bewerten- und Danke-Buttons
Wenn man sieht, dass man einen anderen glücklich gemacht hat, ist die Welt um zwei glückliche Menschen reicher.
-
04.05.10 12:43 #3
- Registriert seit
- Jun 2005
- Beiträge
- 8.168
Hi.
Schau mal hier: http://predef.sourceforge.net/index.php
Warum verwendest du keine #if #else Direktiven? A la
GrußCode c:1 2 3 4 5 6 7
#if defined(_WIN32) && !defined(__CYGWIN__) // windows ... #else // unixoides BS ... #endif
If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
04.05.10 14:58 #4
- Registriert seit
- Mar 2009
- Ort
- Lilienthal(Niedersachsen)
- Beiträge
- 41
Danke für die Antwort.
Geht das denn so wie ich das geschrieben habe. hier mit #if #else
Code c:1 2 3 4 5 6 7 8 9 10 11
#if defined WIN32 || __WIN32__ || _MSC_VER // Windows #elif defined linux || __linux || __linux__ || __GNU__ // Linux #else #error "Unsupported Operating System" #endif
-
04.05.10 15:30 #5
- Registriert seit
- Jun 2005
- Beiträge
- 8.168
Nein, das geht so nicht. Warum probierst du es denn nicht wenigstens mal aus?
Schau nochmal in die Tabelle die ich verlinkt habe.
Und dann mußt du prüfen ob die einzelnen Werte defined sind und nicht nur ob der erste definiert ist:
Das reicht nach meiner Erfahrung völlig aus. Den Microsoft Compiler zu prüfen ist in dem Schritt eigentlich unnötig. Bestimmte Compiler sollte man dann extra behandeln.Code c:1 2 3 4 5 6 7
#if defined(_WIN32) ... #elif defined(linux) || defined(__linux) ... #else # error "OS not supported." #endif
Es ist m.E. eine gute Idee die Cygwin Plattform gesondert zu behandeln, da man wohl meist eine max. Unix-ähnliche Version des Programmes unter Windows komplieren will.
GrußIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
Ähnliche Themen
-
Die Programme in Linux?
Von FaNo86 im Forum Linux & UnixAntworten: 5Letzter Beitrag: 04.08.06, 18:21 -
mehr Programme durch Receiver
Von hervi im Forum HardwareAntworten: 5Letzter Beitrag: 11.01.04, 15:00 -
Linux Programme mit PHP ausführen
Von noisy im Forum PHPAntworten: 1Letzter Beitrag: 07.07.03, 17:20 -
linux pda programme
Von melmager im Forum Linux & UnixAntworten: 0Letzter Beitrag: 19.02.03, 20:05 -
3D-Programme für LINUX?
Von Cstar im Forum BlenderAntworten: 18Letzter Beitrag: 11.06.02, 10:13





Zitieren

Login






