2010-06-20 10 views
9

Mam projekt C++, który używa zwiększenia. Cały projekt jest zbudowany przy użyciu scons + Visual Studio 2008. Zainstalowaliśmy Visual Studio 2010 i okazało się, że scons próbował użyć późniejszego kompilatora zamiast starego - i nie udało się zbudować projektu jako boost i visual studio 2010 don bardzo się lubią - jeszcze. Chcielibyśmy to powstrzymać i zmusić scons do korzystania z wersji 2008. czy to możliwe? Jak to robimy?Zmuszanie scons do korzystania ze starszego kompilatora?

Odpowiedz

17

Można zmodyfikować SCons Environment() po prostu wybierając wersja chcesz:

env = środowisko (MSVC_VERSION = <someversion>)

z podręcznika sCons:

MSVC_VERSION Ustawia preferowaną wersję Microsoft Visual C/C++ na na .

Jeśli $ MSVC_VERSION nie jest ustawiona, SCons będzie (domyślnie) wybierz najnowszą wersji programu Visual C/C++ zainstalowany na systemie. Jeśli określona wersja nie jest zainstalowana, inicjowanie narzędzia zakończy się niepowodzeniem. Zmienna ta musi być przekazana jako argument do konstruktora Environment() ; ustawienie go na później nie daje żadnego efektu. Ustaw nieoczekiwaną wartość (np. "XXX") na , aby wyświetlić prawidłowe wartości w systemie.

+0

dać mu strzał Postaram że jutro rano – Maciek

+0

env = Environment (MSVC_VERSION = 9,0) działało. – Maciek

+1

MSVC_VERSION = '11 .0Exp 'do tworzenia 2012Express. – vrdhn

2

Musisz przedefiniować zmienną budowlany CXX, najlepiej w środowisku:

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

Cześć, przepraszam za opóźnienie w odpowiedzi, będę jutro – Maciek

Powiązane problemy