2010-06-20 15 views
9

Ich habe ein C++ Projekt, das Boost verwendet. Das ganze Projekt wird mit scons + Visual Studio 2008 erstellt. Wir haben Visual Studio 2010 installiert und es stellte sich heraus, dass scons versuchte, den späteren Compiler anstelle des alten Compilers zu verwenden - und das Projekt nicht als Boost und Visual Studio 2010 erstellen konnte Ich mag mich noch nicht sehr. Wir möchten dies unterdrücken und zwingen SCONs, die Version 2008 zu verwenden. Ist das möglich? Wie machen wir das?Erzwingen, dass Scons älteren Compiler verwenden?

Antwort

17

Sie die scons Umwelt() nur durch die Wahl Sie die gewünschte Version ändern können:

env = Environment (MSVC_VERSION = <someversion>)

Vom scons manpage:

MSVC_VERSION Legt die bevorzugte Version von Microsoft Visual C/C++ auf fest.

Wenn MSVC_VERSION $ nicht gesetzt ist, SCons wird (Standardeinstellung) wählen Sie die neueste Version von Visual C/C++ installiert Ihrem System. Wenn die angegebene Version nicht installiert ist, schlägt die Werkzeuginitialisierung fehl. Diese Variable muss als Argument an den Environment() - Konstruktor übergeben werden; Einstellung später hat keine Wirkung. Setzen Sie es auf einen unerwarteten Wert von (z. B. "XXX"), um die gültigen Werte auf Ihrem System anzuzeigen.

+0

Ich werde versuchen, dass morgen früh – Maciek

+0

env = Environment (MSVC_VERSION = 9,0) Arbeitete. – Maciek

+1

MSVC_VERSION = '11 .0Exp 'für die Erstellung von 2012Express. – vrdhn

2

Sie müssen die CXX Bau Variable neu zu definieren, idealerweise in der Umwelt:

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

Hallo, sorry über die späte Antwort, ich werde es versuchen morgen – Maciek

Verwandte Themen