标签: scons

247
推荐指数
5
解决办法
9万
查看次数

如何在Python中替换(或剥离)文件名中的扩展名?

Python中是否有内置函数可以替换(或删除)文件扩展名(如果有的话)?

例:

print replace_extension('/home/user/somefile.txt', '.jpg')
Run Code Online (Sandbox Code Playgroud)

在我的例子中:/home/user/somefile.txt将成为/home/user/somefile.jpg

我不知道它是否重要,但我需要这个我正在编写的SCons模块.(所以也许我可以使用一些SCons特定的功能?)

我想要干净的东西.对字符串中的所有实例进行简单的字符串替换.txt显然不是很干净.(如果我的文件名是这会失败somefile.txt.txt.txt)

python scons

87
推荐指数
8
解决办法
9万
查看次数

使用OS X 10.10 Yosemite Beta重新安装带有Homebrew的MongoDB

重申一下,我正在运行第一个OS X 10.10测试版,并试图用Homebrew重新安装MongoDB.

运行后$ brew install mongodb,这是输出:

==> Downloading http://downloads.mongodb.org/src/mongodb-src-r2.6.1.tar.gz
==> /usr/local/opt/scons/bin/scons install --prefix=/usr/local/Cellar/mongodb/2.6.1 -j8 --cc=/usr/bin/clang --cxx=/usr/bin/clang++ --osx-version-min=10.10 --full --64
scons: Reading SConscript files ...
Mkdir(".scons/Darwin/nohost")
usage: scons [OPTION] [TARGET] ...

SCons Error: option --osx-version-min: invalid choice: '10.10' (choose from '10.6', '10.7', '10.8', '10.9')
Run Code Online (Sandbox Code Playgroud)

显然,安装包没有为10.10配置,因为它尚未向公众发布.

有没有办法在构建过程中手动绕过它?

macos homebrew scons mongodb osx-yosemite

29
推荐指数
1
解决办法
1万
查看次数

如何解决"scons:警告:为目标指定了两种不同的环境"

假设我有一个如下所示的SConstruct文件:

env = Environment()

env.Program("a", ["a.c", "util.c"])
env.Program("b", ["b.c", "util.c"])
Run Code Online (Sandbox Code Playgroud)

此版本正常工作,没有SCons警告消息.但是,如果我修改它以为每个构建指定不同的Program(实际的库不相关):

env.Program("a", ["a.c", "util.c"], LIBS="m")
env.Program("b", ["b.c", "util.c"], LIBS="c")
Run Code Online (Sandbox Code Playgroud)

然后我收到警告:

scons: warning: Two different environments were specified for target util.o,
        but they appear to have the same action: $CC -o $TARGET -c $CFLAGS $CCFLAGS $_CCCOMCOM $SOURCES

这似乎是由Program构建器自动创建用于构建的新环境引起的,即使它只是LIBS不同的变量(因此只有链接步骤需要具有不同的环境).我可以通过以下方式解决这个问题:

util = env.Object("util.c")
env.Program("a", ["a.c"] + util, LIBS="m")
env.Program("b", ["b.c"] + util, LIBS="c")
Run Code Online (Sandbox Code Playgroud)

这使用单个Object构建器进行构建util.c,然后在每个Program …

scons

26
推荐指数
2
解决办法
9026
查看次数

如何在Mac OS X上安装scons

你能告诉我如何在MacOSX上安装scons吗?

我没有从http://www.scons.org/看到指定的mac下载

谢谢.

macos scons

25
推荐指数
3
解决办法
3万
查看次数

什么是.sconsign.dblite文件?

如果删除它会发生什么?

我应该把它置于版本控制之下吗?

scons

22
推荐指数
1
解决办法
4326
查看次数

如何使用Eclipse CDT构建SCons项目?

我们有一个相当大的C/C++项目,使用scons进行构建.我想通过Eclipse-CDT尝试构建它.任何人都有这方面的经验,可以告诉我将scons设置为构建器的步骤.(不使用SConsBuilder插件,它不适用于Fedora-11的Eclipse-CDT).

eclipse build eclipse-cdt scons

21
推荐指数
3
解决办法
1万
查看次数

为什么没有clang在Scons下显示颜色输出?

使用Scons构建时,我可以将其配置为使用clang,如下所示:

env["CXX"] = "clang++"
Run Code Online (Sandbox Code Playgroud)

但是,它似乎不保留clang输出的颜色信息.如何让scons保留颜色?

c++ clang scons

21
推荐指数
1
解决办法
3965
查看次数

ant + cpptasks vs. scons vs. make

我正在研究scons,我只是想确定我知道替代方案是什么,然后我将一大块脑细胞投入完全不同的东西.我过去一直在使用GNU make,但从未对它特别满意.

特别是:为什么Ant不经常用于C/C++项目?(鉴于有蚂蚁cpptasks)我读了一些帖子,说Ant更多地围绕Java(显然),但这样做的缺点是什么?为什么scons比make好多了?

我正在使用TI DSP的交叉编译器,通常项目中有20-50个cpp文件.看起来构建管理中的难点是自动依赖性检查.其他一切只是将文件列表与一组编译器选项一起映射.

编辑:为什么交叉编译会改变什么?它是一个运行gcc运行方式的编译器,只是它生成了不能在我的PC上运行的目标文件/可执行文件.

ant build-process makefile scons

20
推荐指数
2
解决办法
7936
查看次数

如何优化SCons脚本的启动时间?

我有一个SCons脚本需要大约10秒才发现没有什么需要重建,这对于本质上相当小的项目感觉非常长.阅读SConscript本身只花了一两秒钟,大部分时间花在:

scons: Building targets ...
Run Code Online (Sandbox Code Playgroud)

步.

我怎样才能知道此时究竟scons在做什么?还有什么其他一般建议可以写快速SCons脚本?

build-automation build-process scons

20
推荐指数
6
解决办法
1万
查看次数