`
stephen80
  • 浏览: 103912 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

scons 的注意点

    博客分类:
  • c++
阅读更多
mail scons --silent

总结一下 scons 的注意点。

1. target , source
   scons 缺省认为是 [file,file] list.
   如果是dir 需要 [Dir(dd),Dir(ee)) ] ,

   这个 Dir(ddd) 的类型是 SCons.Node.FS.Dir ,可以用 str( ) 转为str

   否则报 ,lookup file , dir  ............错误

2. scons 的路径缺省是 variant dir  ,比如'#build'
   子目录下的 缺省路径是 variant dir / sub dir

os.path.join (parant,'/dir') 将产生 '/dir' ,这也许不是想要的结果

3。alias 不能被 Depends
4。--debug = pdb, explain ,stacktrace 可以帮助查错

5. Install , 与InstallAs 不能成功的原因,就是因为 路径拼错了
6。Tar 会连同 dir 打包  ,如果不需要 dir 需要自己写 Command 才可以

7。psedu Builder 比Builder 方便, 可以多传参数

8。避免硬编码, 以方便以后维护
9. compressed tar 不能 update
10. SconsEnvironment 位于 module ,Scons.Script.SconsScript ,而不是Scons。Environment
11. 轻易不要使用 shell command ,否则 目录关系会很烦
12. filegenerator is stupid than tar
so many call ,it's fool for a architect.
13. tar Flag should be set with Replace other than append
14. If you need operate os path. should env.Dir(path).abspath
15. env.Execute(Mkdir(paht)) can execute imediataly.

16. psedo builder  combine other builders , os operation will executed during scan process ,It's path will be wrong ,since file in variant build path is not   set up properly



分享到:
评论

相关推荐

    Python2.6 scons1.3

    然而,值得注意的是,Python2系列在2020年已经停止了官方支持,因此对于新的项目,推荐使用更现代且受支持的Python3版本。 SCons是一个开源的构建工具,它的设计灵感来源于Make,但用Python编写,旨在提供更强大、...

    linux下安装jsoncpp之前的准备:scons

    在Linux环境下,安装开源库jsoncpp时,通常会遇到依赖构建工具SCons的情况。SCons是一种基于Python的构建系统,它取代了传统的Makefile,...在实际操作中,一定要注意查阅最新的文档,以应对可能遇到的问题和依赖更新。

    jsoncpp与scons安装教程与资源.zip

    在`教程.txt`中,可能详细阐述了JsonCpp和SCons的安装和使用方法,包括解决依赖问题、配置选项以及特定环境下的注意事项。建议首先阅读这个教程,以确保安装过程的顺利进行。 在实际开发中,正确安装并配置这些工具...

    scons-test:测试SCons

    在详细说明SCons的相关知识点时,我们要注意以下几点: 1. **SCons的基本概念**:SCons是一个基于Python的构建系统,它的核心理念是通过Python脚本来描述构建过程,这样可以利用Python的灵活性和强大的文本处理能力...

    python 2.5 for windows and scons 1.2 for windows

    Python 2.5 是 Python 编程语言的一个早期版本,主要针对Windows操作...不过需要注意的是,随着Python 2.x在2020年停止支持,更新到Python 3.x以及对应的SCons版本是推荐的做法,以确保获得最新的安全修复和功能改进。

    scons-tools:一小部分定制的SCons构建器

    注意:根据您的发行版和scons版本,site_tools目录可能位于其他位置。 有关详细信息,请查看scons手册页。 目前缺少文档,建议您查看源文件以找到可用的构建器。 所有这些SCons工具都可以与很好地配合。 Web开发 ...

    SCON工具源码

    其中 helloscons.c 是程序的源文件,SConstruct 是 scons 的配置文件,类似使用 make 工具时的 Makefile 文件,因此,为了编译你的项目,需要手工创建一个 SConstruct 文件(注意:文件名是大小写敏感的)。...

    Vs2010编译 mongodb c++驱动详述

    1.编译环境 (1)下载vs2010 (2) 下载python2.7 ...python-2.7.11.msi 下载scons2.4.1,The current production release of SCons is 2.3.0; http://www.scons.org/doc/ ...注意:这里编译的应该是boost的动态库和 lib。

    2013年江苏--转本计算机终极预测

    根据给定的信息,我们可以从标题、描述以及部分内容中提取出以下关键知识点: ...此外,由于资料发布时间为2013年,因此在复习时还需要注意近年来技术发展的新趋势和变化,确保所学知识的时效性。

    nedmalloc-v1.10-beta3

    注意: 构建工程前 需要添加系统环境变量:LIB INCLUDE; 我的是: LIB C: Program Files x86 Microsoft Visual Studio 10 0 VC lib;C: Program Files x86 Microsoft SDKs Windows v7 0A Lib; INLUCDE C: Program...

    JsonCpp的安装

    ### JsonCpp的安装与使用详解 #### 一、JsonCpp简介 JsonCpp是一个C++库,用于解析和生成JSON格式的数据。它支持多种编译器环境,并提供...需要注意的是,具体操作可能会因不同的操作系统版本和编译器版本而有所差异。

    Hi3861_海思官方_第三方软件移植指南1

    移植指南的1.2章节详细解释了如何使用SCons来配置和构建第三方软件,可能包括设置源代码路径、添加依赖项、定义构建目标等步骤。 3. **Make构建** 对于不支持或不习惯SCons的开发者,1.3.1章节介绍了如何进行基于...

    centOS安装svn 1.8.1以及更高版本的时候所用的资源合集

    这篇详细的知识点讲解将介绍如何在CentOS上安装Subversion 1.8.1及其更高版本,以及涉及到的相关资源。 首先,Subversion 1.8.1是一个较旧但仍然广泛使用的版本,因为它提供了许多稳定的功能。在安装这个版本之前,...

    QEMU/mini2440上运行RT-Thread源码及工具

    需要注意的是,由于这是旧版本的Python,因此在运行时要考虑到兼容性问题,避免使用新版本Python中才有的特性。 SCONS是一个构建工具,类似于Make或Autotools,但它基于Python,具有更灵活的配置和跨平台的特性。`...

    swift:Swift XMPP客户端和Swiften XMPP库

    只需在Linux上运行./scons Swift ,或在Mac OS X上运行./scons Swift qt=/Users/username/Qt_installation_path/Qt/5.4.2/5.4/clang_64或scons.bat Swift qt=C:\path\to\qt在Windows上使用scons.bat Swift qt=C:\...

    mongodb 编译开发库

    7. **注意事项**:在Windows上编译时,需要注意符号链接不被直接支持,可能需要手动创建硬链接或者复制文件。另外,不同版本的MongoDB可能对编译环境有不同的要求,需要查阅官方文档获取详细信息。 通过这个...

    用于RTTHREAD STM32 BSP 制作

    - 配置SCons工具:SCons是一种用于构建软件项目的工具,可以替代传统的Makefile。 #### 四、BSP制作步骤详解 1. **下载并安装RT_Thread**: - 下载RT_Thread源码,并解压到适当的位置。 2. **选择对应的STM32模板...

Global site tag (gtag.js) - Google Analytics