如何让scons指向我家目录下的另一个编译器?

3 投票
2 回答
7540 浏览
提问于 2025-04-16 01:40

我尝试修改SConstruct文件,让它指向一个不同的gcc编译器,但它总是使用在/usr/bin/gcc和/usr/bin/g++中定义的那个。

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

我哪里做错了?另外,有没有办法在命令行上指定一个不同的编译器,比如用类似这样的方式:

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

我快要疯了,想让这个工作正常。谢谢!

2 个回答

0

一个“脏技巧”就是在你输入scons命令的文件夹里,创建一个指向新解释器的符号链接。

3

在“SCons为什么找不到我的编译器/链接器等?”这个问题的建议中,来自SCons的维基。对于你的情况,可以这样做:

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

也就是说,创建一个你想要的环境,确保里面有你需要的内容,比如说$PATH(关于环境的其他有用建议也在同一维基页面附近)。

如果你想在scons的命令行中添加自己的选项,根据文档,你应该可以使用AddOption,具体可以查看第12.1.5节(不过,我自己还没有尝试过这个)。

撰写回答