Заставить scons использовать старый компилятор? - PullRequest
9 голосов
/ 20 июня 2010

У меня есть проект C ++, который использует boost.Весь проект построен с использованием scons + Visual Studio 2008. Мы установили Visual Studio 2010, и оказалось, что scons пытался использовать более поздний компилятор вместо старого - и не смог построить проект как boost и visual studio 2010очень не нравятся друг другу - пока.Мы хотели бы подавить это и заставить scons использовать версию 2008 года.Это возможно?Как мы это делаем?

Ответы [ 2 ]

17 голосов
/ 21 июня 2010

Вы можете изменить среду scons (), просто выбрав нужную версию:

env = Среда (MSVC_VERSION = <someversion>)

Из справочной страницы scons:

MSVC_VERSION Устанавливает предпочитаемую версию Microsoft Visual C / C ++ для использования.

Если $ MSVC_VERSION не установлен, SCons (по умолчанию) выберет последнюю версию Visual C / C ++, установленную на вашем компьютере.система.Если указанная версия не установлена, инициализация инструмента завершится неудачно.Эта переменная должна быть передана в качестве аргумента конструктору Environment ();установка этого позже не имеет никакого эффекта.Установите неожиданное значение (например, «XXX»), чтобы увидеть действительные значения в вашей системе.

2 голосов
/ 20 июня 2010

Вам необходимо переопределить переменную конструкции CXX, в идеале в вашей среде:

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