2010-06-20 5 views
9

J'ai un projet C++ qui utilise boost. L'ensemble du projet est construit en utilisant scons + Visual Studio 2008. Nous avons installé Visual Studio 2010 et il s'est avéré que scons essayait d'utiliser le compilateur plus tard au lieu de l'ancien - et échoué à construire le projet comme boost et visual studio 2010 don ne vous aimez pas beaucoup - encore. Nous aimerions supprimer cela et forcer les scons à utiliser la version 2008. Est-ce possible? Comment faisons-nous cela?Forcer les scons à utiliser un compilateur plus ancien?

Répondre

17

Vous pouvez modifier le scons environnement() juste en choisissant la version souhaitée:

env = environnement (MSVC_VERSION = <someversion>)

De l'scons manpage:

MSVC_VERSION Définit la version préférée de de Microsoft Visual C/C++ à .

Si MSVC_VERSION $ n'est pas réglé, SCons sera (par défaut), sélectionnez la dernière version de Visual C/C++ installé sur votre système. Si la version spécifiée n'est pas installée, l'initialisation de l'outil échouera. Cette variable doit être passée en argument au constructeur Environment(); le définir plus tard n'a aucun effet. Définissez-le sur une valeur inattendue (par exemple "XXX") pour afficher les valeurs valides sur votre système.

+0

Je vais essayer demain matin – Maciek

+0

env = environnement (MSVC_VERSION = 9,0) Travaillait. – Maciek

+1

MSVC_VERSION = '11 .0Exp 'pour faire 2012Express. – vrdhn

2

Vous aurez besoin de redéfinir la variable de construction CXX, idéalement dans votre environnement:

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

Salut, désolé au sujet de la réponse tardive, je vais donner un coup de feu demain – Maciek

Questions connexes