c - 设置 env 后 scons 仍然失败

标签 c linux centos scons devtoolset

我在 Centos 5 上使用 scons 1.2,devtoolset-1.1,devtoolset-1.1 根路径位于/opt/centoss/devtoolset-1.1/。我将 devtoolset 二进制路径添加到 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 PATH,cat SConstruct

import os
env = Environment(ENV = {'PATH' : os.environ['PATH']})
Program('hello.c')

但是scons还是没有到达gcc

[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 - 设置 env 后 scons 仍然失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23902345/

相关文章:

linux - 如何使用 ffplay 和 youtube-dl 在终端中播放 youtube 歌曲

php - 为什么 PHP include() 不改变文件访问时间?

c - C 程序中的未定义行为。请解释

c - 打印已经递增的指针值

c - 向用户读入字符串,直到使用 "."

c - 使用gdb逐步检查sprintf()函数

android - 运行 Linux 的 Chromebook 会处理 android studio 吗?

openoffice.org - centOS 服务器 openoffice headless

bash - 删除同名但扩展名不同的旧文件

php - 阻止 TOR 服务器