2009-11-23 10 views

risposta

12

Non sono completamente sicuro di cosa si intenda per riga di comando di vcbuild ma se si intende il compilatore di riga di comando di Visual C++, è possibile aggiungere definizioni mediante add/Dxxxx, ad es.

cl.exe /DSHAREWARE .... 

risposta addizionale sulla base dei commenti:

Si dovrebbe essere in grado di impostare la variabile di ambiente CL con il preprocessore in più definiscono:

SET CL=/DSHAREWARE 
devenv .... 

Altre informazioni sono disponibili all'indirizzo MSDN

+0

Avevo in mente devenv.exe. cl compila solo IIRC. devenv fa anche il collegamento. –

+0

Che funziona bene - Ho appena trovato la stessa risposta da qualche altra parte. Grazie comunque! –

+0

Bene, allora dovresti accettare la risposta in modo che altri possano vedere che questa domanda è stata risolta ... – HakonB

1

I #definiti sono definiti nel file di progetto di Visual Studio (file .dsp o .vcproj). Questo è un semplice file di testo. Quindi è possibile modificare il file di progetto da uno script, quindi chiamare devenv.exe.

0

Nel mio caso, avevo bisogno di usare devenv per altri motivi, (e stavo correndo in cygwin, quindi avevo sed).

Ho impostato un simbolo compilazione nelle proprietà del progetto SED_REPLACE_THIS e quindi utilizzato sed per impostarlo su qualcosa di significativo (es: DONT_CRASH_AS_MUCH)

sed -i 's/SED_REPLACE_THIS/DONT_CRASH_AS_MUCH/g' project.csproj

1

nelle impostazioni di progetto, aggiungere la seguente definizione del preprocessore :

$ (MyPreprocessorDefinitions);

poi nel file .bat *, utilizzare

REM #define MY_DEF

set MyPreprocessorDefinitions = MY_DEF

DEVENV.exe ...

REM #undefine MY_DEF

set MyPreprocessorDefinitions =

Problemi correlati