Заставлять scons использовать более старый компилятор?


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

2 9

2 ответа:

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

Env = Environment (MSVC_VERSION=<someversion>)

Из manpage scons:

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

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

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

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