2010-06-20 11 views
9

Ho un progetto C++ che sta usando boost. L'intero progetto è stato realizzato utilizzando scons + Visual Studio 2008. Abbiamo installato Visual Studio 2010 e si è scoperto che gli scons stavano tentando di utilizzare il compilatore successivo anziché quello precedente e non è riuscito a creare il progetto come boost e visual studio 2010 don Mi piacciono molto - eppure. Vorremmo sopprimere questo e costringere gli scons a usare la versione 2008. È possibile? Come facciamo questo?Forzare gli scons per usare il compilatore più vecchio?

risposta

17

è possibile modificare lo scons Ambiente() semplicemente scegliendo la versione desiderata:

env = Ambiente (MSVC_VERSION = <someversion>)

Dal scons manpage:

MSVC_VERSION Imposta la versione preferita di di Microsoft Visual C/C++ per l'utilizzo di .

Se $ MSVC_VERSION non è impostato, SCons sarà (per impostazione predefinita) selezionare la versione più recente di Visual C/C++ installato sul sistema. Se la versione specificata non è installata, l'inizializzazione dello strumento avrà esito negativo. Questa variabile deve essere passata come argomento al costruttore di ambiente Environment(); impostandolo su in seguito non ha alcun effetto. Impostalo su un valore imprevisto (ad esempio "XXX") per vedere i valori validi sul tuo sistema.

+0

proverò che domani mattina – Maciek

+0

ENV = Ambiente (MSVC_VERSION = 9.0) ha funzionato. – Maciek

+1

MSVC_VERSION = '11 .0Exp 'per rendere 2012Express. – vrdhn

2

Avrai bisogno di ridefinire la variabile costruzione CXX, in posizione ideale nel proprio ambiente:

env = Environment(CXX = "C:\\path\to\vs2008\executable") 
+0

Ciao, mi dispiace per il ritardo di risposta, ti darò un colpo domani – Maciek

Problemi correlati