2010-07-21 9 views
3

J'ai essayé d'éditer SConstruct pour pointer vers un compilateur gcc différent mais il semble toujours utiliser celui défini dans/usr/bin/gcc et/usr/bin/g ++.Comment pointer scons vers un autre compilateur installé dans mon répertoire personnel?

env = DefaultEnvironment() 
env['CC'] = '/home/aaron/devel/bin/gcc' 
env['CXX'] = '/home/aaron/devel/bin/g++' 

Qu'est-ce que je fais mal? Aussi, est-il un moyen de spécifier un autre compilateur sur la ligne de commande en utilisant quelque chose comme:

scons cxx=/home/aaron/devel/bin/g++ 

Je suis devenu fou à essayer de faire ce travail. Merci!

Daze

Répondre

3

Il y a une suggestion: "Pourquoi ne pas SCons trouver mon compilateur/éditeur de liens/etc.?" dans le SCons wiki? Pour votre cas, ce serait

path = ['/path/to/other/compiler/bin', '/bin', '/usr/bin',] 
env = Environment(ENV = {'PATH' : path}) 

à savoir, faire votre propre environnement avec exactement le contenu que vous voulez, comme les $PATH (autres bits conseils utiles sur les environnements sont proches dans la même page wiki).

Pour ajouter vos propres options à la ligne de commande de scons, par the docs, vous devriez pouvoir utiliser AddOption, voir la section 12.1.5 (mais, je n'ai pas essayé celui-ci moi-même).

+0

addOption est la bonne façon de le faire. Vous pouvez également utiliser ARGUMENTS.get ('cxx') mais ce n'est pas collant. – cheez

0

Un « truc sale » est « juste » pour faire un lien symbolique vers le nouveau interpretor dans le dossier où vous exécutez la commande scons