Hallo,
ich arbeite gerade an einem etwas größeren Codeprjekt und ich wollte mal fragen wie ich die Betriebssystemabhängigkeiten irgendwie auf eine gute Weise fixen könnte. Also was meine ich überhaupt: in meinem Projekt habe ich Pfadabhängigkeiten und ein paar cvars definiert, diese sehen ungefähr so aus:
Also das sieht zunächst mal komisch aus da es aus dem Zusammenhang nicht so gut erkennbar ist, aber es handelt sich hierbei um ein Element eines Struktur Arrays. Darauf will ich aber nicht hinaus. Was ich machen will ist mein Projekt automatisch auf Linux und auf Windows kompilieren zu lassen, mit den richtigen Pfadangaben. Wenn es auf Windows kompiliert wird, möchte ich dass der Compiler das erkennt und ein #define Windows oder so setzt. Bei Linux möchte ich dasselbe. Dann möchte ich meine Pfade danach ausrichten bzw. in diesem Strukturelement definieren, und zwar Betriebssystemabhängig, unter Windows möchte ich den Pfad mit Forwardslash, bei Linux mit Backslash. Wie schaffe ich es also dass dann in etwa sowas da steht:
[...]
#ifdef Windows
{ &Directory, "Pfad/zu/WindowsDirectory"}
#ifdef Linux
{ &Directory, "Pfad\zu\LinuxDirectory"}
[...][/code]
Ich hoffe jemand kann helfen.
Gruß
-z
ich arbeite gerade an einem etwas größeren Codeprjekt und ich wollte mal fragen wie ich die Betriebssystemabhängigkeiten irgendwie auf eine gute Weise fixen könnte. Also was meine ich überhaupt: in meinem Projekt habe ich Pfadabhängigkeiten und ein paar cvars definiert, diese sehen ungefähr so aus:
Also das sieht zunächst mal komisch aus da es aus dem Zusammenhang nicht so gut erkennbar ist, aber es handelt sich hierbei um ein Element eines Struktur Arrays. Darauf will ich aber nicht hinaus. Was ich machen will ist mein Projekt automatisch auf Linux und auf Windows kompilieren zu lassen, mit den richtigen Pfadangaben. Wenn es auf Windows kompiliert wird, möchte ich dass der Compiler das erkennt und ein #define Windows oder so setzt. Bei Linux möchte ich dasselbe. Dann möchte ich meine Pfade danach ausrichten bzw. in diesem Strukturelement definieren, und zwar Betriebssystemabhängig, unter Windows möchte ich den Pfad mit Forwardslash, bei Linux mit Backslash. Wie schaffe ich es also dass dann in etwa sowas da steht:
[...]
#ifdef Windows
{ &Directory, "Pfad/zu/WindowsDirectory"}
#ifdef Linux
{ &Directory, "Pfad\zu\LinuxDirectory"}
[...][/code]
Ich hoffe jemand kann helfen.
Gruß
-z