Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [C/C++] Zur Kompilezeit unterscheiden ob Release oder Debug (https://www.delphipraxis.net/78133-%5Bc-c-%5D-zur-kompilezeit-unterscheiden-ob-release-oder-debug.html)

Luckie 29. Sep 2006 14:34


[C/C++] Zur Kompilezeit unterscheiden ob Release oder Debug
 
Ich habe in meinem Programm feste Abhängigkeiten von Ordnern (Es geht nicht anders!). Jetzt ist es aber so, wen ich die Anwendung im Debugger starte der Pfad ein anderer ist, als wenn ich sie aus dem Explorer im Debug-Ordner starte. Beim Release-Ordner logischerweise das gleiche.

Gibt es irgendwie sowas wie
Code:
#if Release
  Path = "..\\..\\abc";
#else
  Path = "..\\abc";
Wäre ziemlich praktisch.

MagicAndre1981 29. Sep 2006 14:37

Re: [C/C++] Zur Kompilezeit unterscheiden ob Release oder De
 
Code:
#ifdef DEBUG....#endif
sollte helfen.

Luckie 29. Sep 2006 14:44

Re: [C/C++] Zur Kompilezeit unterscheiden ob Release oder De
 
Leider nicht:
Code:
#ifdef DEBUG
   options[0].optionString = "-Djava.class.path=..\\JavaDemo";
#else
   options[0].optionString = "-Djava.class.path=..\\..\\JavaDemo";
#endif
Das ist auch so nicht ganz richtig. Wenn ich aus den Debugger starte, muss er den ersten Pfad nehmen. Starte ich die Exe mit dem Explorer, liegen sie im Debug- oder Release-Ordner. Diese Ordner befinden sich aber eine Ebene tiefer, so dass ich, wenn ich die Exe aus dem Explorer starte, den zweiten Pfad brauche.

Flocke 29. Sep 2006 14:46

Re: [C/C++] Zur Kompilezeit unterscheiden ob Release oder De
 
Du müsstest den Pfad im Debugger einstellen können, vielleicht löst das dein Problem - du kannst dann in deinem Quelltext immer denselben Pfad nehmen.

// Nachtrag: Alternativ sollte in C/C++ "argv[0]" den Namen der Exe-Datei inkl. des kompletten Pfades beinhalten. Vielleicht kannst du beim Programmstart einfach das Arbeitsverzeichnis auf das Programmverzeichnis setzen.

Luckie 29. Sep 2006 15:03

Re: [C/C++] Zur Kompilezeit unterscheiden ob Release oder De
 
Ich habe es gerade gelöst. Das DEBUG setzt man in den Projektoptionen bei den Debug-Einstellungen. Dann geht es wie gewünscht.

Olli 29. Sep 2006 20:05

Re: [C/C++] Zur Kompilezeit unterscheiden ob Release oder De
 
Zitat:

Zitat von Luckie
Ich habe es gerade gelöst. Das DEBUG setzt man in den Projektoptionen bei den Debug-Einstellungen. Dann geht es wie gewünscht.

... oder alternativ in einer (globalen) Header-Datei, wenn man Compiler-unabhängig bleiben will ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz