Macro abhaengig von Umgebungsvariablen definieren in VC8

06/07/2011 - 16:33 von Ulrich Eckhardt | Report spam
Hi!

Ich wuerde gerne ein Makro in Abhaengigkeit von einer Umgebungsvariablen
setzen. Im Code habe ich dann etwa sowas vor:

#ifdef USE_PYTHON
# include <Python.h>
#endif

Ich kann in den Einstellungen z.B. USE_PYTHON=$(PYTHON_ROOT) setzen, aber
das definiert immer das Makro, nicht nur wenn PYTHON_ROOT im Environment
ist. Die einzige Idee ist zur Zeit ein Precompile-Step in dem einfach eine
Include-Datei geschrieben wird die das erledigt, aber das ist haesslich.


Irgendwelche besseren Ideen?

Uli

Domino Laser GmbH
Geschàftsführer: Thorsten Föcking, Amtsgericht Hamburg HR B62 932
 

Lesen sie die antworten

#1 Stefan Reuther
06/07/2011 - 19:02 | Warnen spam
Ulrich Eckhardt wrote:
#ifdef USE_PYTHON
# include <Python.h>
#endif

Ich kann in den Einstellungen z.B. USE_PYTHON=$(PYTHON_ROOT) setzen, aber
das definiert immer das Makro, nicht nur wenn PYTHON_ROOT im Environment
ist. Die einzige Idee ist zur Zeit ein Precompile-Step in dem einfach eine
Include-Datei geschrieben wird die das erledigt, aber das ist haesslich.



Die üblichen Lösungen sind ein Makefile, oder eben ein "Precompile-Step"
(vulgo Configure-Skript).

nmake-Details hab ich nicht im Kopf, das müsste in der Art
!ifdef PYTHON_ROOT
CXXFLAGS = CXXFLAGS -DUSE_PYTHON
!endif
gehen.

Ein Configure-Skript hat den Vorteil, gleich auch noch allerlei andere
Konfigurationsoptionen rausfinden zu können, die vielleicht mal relevant
sein sollen (Sprachumfang? ANSI vs. Unicode? Versionsnummer raufzàhlen?)


Stefan

Ähnliche fragen