我在Centos 5上使用scons 1.2,devtoolset-1.1,devtoolset-1.1根路径位于/opt/centoss/devtoolset-1.1/。我添加了devtoolset binary path to path变量,这就是我所拥有的
[secmask@localhost scons-lab]$ echo $PATH
/usr/kerberos/bin:/opt/centos/devtoolset-1.1/root/usr/bin/:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/secmask/bin
[secmask@localhost scons-lab]$ which gcc
/opt/centos/devtoolset-1.1/root/usr/bin/gcc
[secmask@localhost scons-lab]$ gcc --version
gcc (GCC) 4.7.2 20121015 (Red Hat 4.7.2-5)
Copyright (C) 2012 Free Software Foundation, Inc.
一切看起来都很好,然后我试着用scons编写一个简单的C程序
int main(){
printf("OK");
}
我按照http://www.scons.org/doc/1.2.0/HTML/scons-user/x1673.html中的指南设置
env
以使用这样的os.environ路径,cat SConstruct
import os
env = Environment(ENV = {'PATH' : os.environ['PATH']})
Program('hello.c')
但斯科恩斯仍然没有到达海合会
[secmask@localhost scons-lab]$ scons --debug=presub
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
Building hello.o with action:
$CC -o $TARGET -c $CFLAGS $CCFLAGS $_CCCOMCOM $SOURCES
gcc -o hello.o -c hello.c
sh: gcc: command not found
scons: *** [hello.o] Error 127
scons: building terminated because of errors.
那么,我现在该怎么办?
最佳答案
在阅读了scons用户指南的一些章节之后,我意识到我应该将Program('hello.c')
更改为env.Program('hello.c')
,这将应用新的执行环境。
关于c - 安装环境后,scons仍然失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23902345/