标签: scons

运行scons的问题

我想开始使用scons.我有Python 3.0.1并下载了Scons 1.2.0; 当我尝试运行scons时,我收到以下错误.我在这里做错了吗?

C:\tmp\scons>c:\appl\python\3.0.1\Scripts\scons
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "c:\appl\python\3.0.1\Lib\site-packages\scons-1.2.0\SCons\__init__.py", l
ine 43, in <module>
    import SCons.compat
  File "c:\appl\python\3.0.1\Lib\site-packages\scons-1.2.0\SCons\compat\__init__
.py", line 208
    raise Error, "Cannot move a directory '%s' into itself '%s'." % (src, dst)
               ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

python scons

2
推荐指数
1
解决办法
2149
查看次数

找出构建的目标平台?

我如何找到SCons正在构建的平台(Linux,Mac OS X,Windows,&c--与架构无关).

scons

2
推荐指数
1
解决办法
2312
查看次数

scons 支持 subversion checkout 吗?

从某些站点看来,Scons 支持 subversion checkout:


env = Environment()
env.SourceCode('.', env.Subversion('XXX'))
env.Program('hello.c')
Run Code Online (Sandbox Code Playgroud)

http://www.scons.org/doc/0.92/HTML/scons-user/x1625.html

但是从最新稳定版本(2.0.0)的手册页/用户指南中没有颠覆。更改日志中没有提到它。所以我想知道发生了什么。

svn scons

2
推荐指数
1
解决办法
742
查看次数

与distcc的骗局?

在distcc中使用scons的正确方法是什么?使用CC =“ distcc g ++”或CXX的明显方法不起作用。

有没有人成功地将两者结合在一起?

谢谢!

scons distcc

2
推荐指数
1
解决办法
1193
查看次数

将静态库链接到另一个静态库

我正在尝试使用 scons 将静态库 [1] 链接到另一个静态库 [2]。

不幸的是,发出的对“ar”的调用从不包含任何到库 [1] 的路径。

根据这篇文章如何将两个“ar”静态库合并为一个,应该可以将档案合并为一个。

在这里通常调用 CheckLibWithHeader 是不够的吗?

此致

scons static-libraries

2
推荐指数
1
解决办法
4819
查看次数

禁用所有scons警告

这应该是非常简单的.

我在这里找到了手册页:http://www.scons.org/doc/HTML/scons-man.html

直接从它说:

--warn=all, --warn=no-all     // Enables or disables all warnings. 
Run Code Online (Sandbox Code Playgroud)

所以我键入:

scons --warn=no-all
Run Code Online (Sandbox Code Playgroud)

在建造时我仍然会收到一百万次警告.我必须搞砸一些可笑的简单=

在我的终端用完历史之前,我得到了几百个:

warning: deprecated conversion from string constant to 'char*'
Run Code Online (Sandbox Code Playgroud)

编辑:发现问题!! 这是一个C/C++项目,所以我需要的代码是:

   env.Append(CCFLAGS=["-Wno-write-strings"])
Run Code Online (Sandbox Code Playgroud)

我有什么:

   env.Append(CFLAGS=["-Wno-write-strings"])
Run Code Online (Sandbox Code Playgroud)

python build scons

2
推荐指数
1
解决办法
2054
查看次数

关于google-nacl的非常简单的问题

这是正确的,从胡椒18开始,我不需要scons构建系统来编译,而是使用gcc(nacl-versions)和makefile?

此外,生成的.nexe文件是否可以在任何平台上运行,而不仅仅是在编译的平台上,这是正确的吗?因此,例如,本机代码模块在mac os下开发和编译,并生成32位和64位nexe文件.网络服务器我将在linux上运行该模块,并仍然会执行32位和64位版本的模块?

c++ scons native-code google-nativeclient

2
推荐指数
1
解决办法
1866
查看次数

SCons:修改中间构建器调用

是否可以更改对中间构建器的调用,例如通过传递目标前缀,以避免环境冲突?

例如,假设您要使用不同的编译器宏为两个不同的库使用源文件,如下所示:

env.Library('libraryA', 'source.c', CCFLAGS=['-DCONFIG_X'])
env.Library('libraryB', 'source.c', CCFLAGS=['-DCONFIG_Y'])
Run Code Online (Sandbox Code Playgroud)

SCons检测到冲突,因为Library-Builder调用Object-Builder来首先使用不同的CCFlags编译源文件.

显而易见的解决方案是从链接中拆分编译,如下所示:

objectA = env.Object('objectA', 'source.c', CCFLAGS=['-DCONFIG_X'])
objectB = env.Object('objectB', 'source.c', CCFLAGS=['-DCONFIG_y'])
env.Library('libraryA', objectA)
env.Library('libraryB', objectB)
Run Code Online (Sandbox Code Playgroud)

我想知道是否有更优雅的方式,如果有多个文件用作源,这将特别有用.

谢谢!

python scons

2
推荐指数
1
解决办法
806
查看次数

Scons - 构建Fortran文件的顺序

Fortran中的构建模块需要按特定顺序完成,例如,如果文件A.f需要定义模块B.f,则B.f需要先编译.我怎样才能在Scons中施加这样的构建顺序?如果我提供源文件列表,它会按字母顺序排列(A.f以前编译B.f).我阅读了关于Requires()Depends()功能,但无法让他们为我工作.

我很乐意只列出源文件,以便我需要编译它们(因此禁止按字母顺序重新排列它们),但任何其他方法也会受到欢迎.

按照Kyle的要求,这是我的Sconscript和构建日志:

# Main program building script

Import('env')

PROGRAM = 'main.exe'

SRC_PREFIX = './src/'

SRC = [ 'array_1D_module.f', 
            'array_2D_module.f', 
            'array_3D_module.f', 
            'thomas_algorithm_module.f',
            'histogram_module.f',
            'histogram_computer_module.f',
            'density_parameters_module.f',
            'diffusion3D_aos_z_sub_solver_module.f',
            'diffusion3D_aos_y_sub_solver_module.f',
            'diffusion3D_aos_x_sub_solver_module.f',
            'diffusion3D_aos_solver_module.f',
            'nonlinear_diffusion_utilities_module.f',
            'nonlinear_diffusion_parameters_module.f',
            'derivative_magnitude_computer_module.f',
            'nonlinear_diffusion_module.f',
            'main_module.f',
            'main.f' ]

# Attach prefix to each source file
for i in range( len(SRC) ) :
    SRC[i] = SRC_PREFIX + SRC[i]


env.Program(target = PROGRAM, source = SRC)
Run Code Online (Sandbox Code Playgroud)

这产生了:

scons: Reading …
Run Code Online (Sandbox Code Playgroud)

fortran module build scons

2
推荐指数
1
解决办法
865
查看次数

scons调用错误构建AllJoyn for iOS

我正试图在OSX Mavericks(10.9.3)上使用Xcode(5.1.1)为IOS构建AllJoyn.我已按照此处发布的所有步骤进行了操作,但仍然收到"Shell脚本调用错误",错误:不能执行'scons'(没有这样的文件或目录)在指令的最后一步,无法弄清楚如何为了解决这个问题,我已经安装了自制软件的scons,并尝试手动安装并安装它,但由于某种原因它无法找到它.任何帮助将非常感激.

build objective-c scons ios alljoyn

2
推荐指数
1
解决办法
656
查看次数