Python自动化构建工具scons使用入门笔记


Posted in Python onMarch 10, 2015

这段时间用到了scons,这里总结下,也方便我以后查阅。

一、安装scons
Linux环境(以CentOS为例)

1、yum安装

yum install scons
2、源码安装

下载scons:http://http://jaist.dl.sourceforge.net/project/scons/scons/2.3.0/scons-2.3.0.zip

安装scons:python setup.py install

二、scons常用命令

scons -c : 可以清除生成的临时文件和目标文件,相当于执行make clean。

scons -Q : 将产生更少的输出信息。

三、scons使用示例

1、编译可执行文件

使用Program函数进行可执行文件的编译。

1.1 单文件方式

1.1.1 编写程序代码

建立文件test.c,内容如下:

#include <stdio.h>

int main()

{

    printf("Just a test!\n");

    return 0;

}

1.1.2 编写SConstruct代码

内容如下:

Program("test1.c")

1.1.3 编译程序

执行scons命令进行编译,效果如下:

Python自动化构建工具scons使用入门笔记

1.2 多文件方式

1.2.1 编写程序代码

test1.h文件:

#include <stdio.h>

void fun11();

test1.c文件:
#include "test1.h"

void fun11()

{

    printf("fun11\n");

}

test2.c文件:
#include "test1.h"

int main()

{

    fun11();

    return 0;

}

1.2.2 编写SConstruct代码

内容如下:

Program('test', ['test1.c','test2.c'])

或者:
Program('test',Glob('*.c'))

1.2.3 编译程序

执行scons命令进行编译。

1.3 依赖

1.3.1 链接库

语法示例如下:

Program('test', ['test1.cpp'],LIBS=['boost_system','boost_thread-mt'], LIBPATH='/usr/lib64')

1.3.2 包含库

语法示例如下:

Program('program',Glob('*.c'),CPPPATH='/home/admin/inc')

2、编译静态库

语法示例如下:

Library('libtest1',['test1.c'])

3、编译动态库

语法示例如下:

SharedLibrary('libtest1',['test1.c'])

三、其它

参考资料

(1) scons主页:http://www.scons.org/

(2) scons文档:http://www.scons.org/documentation.php

Python 相关文章推荐
使用Python的PIL模块来进行图片对比
Feb 18 Python
python 读取txt中每行数据,并且保存到excel中的实例
Apr 29 Python
python3+opencv3识别图片中的物体并截取的方法
Dec 05 Python
Python获取航线信息并且制作成图的讲解
Jan 03 Python
Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】
Jan 05 Python
Python 网络编程之TCP客户端/服务端功能示例【基于socket套接字】
Oct 12 Python
解决python彩色螺旋线绘制引发的问题
Nov 23 Python
Django配置文件代码说明
Dec 04 Python
tensorflow2.0的函数签名与图结构(推荐)
Apr 28 Python
Python读取yaml文件的详细教程
Jul 21 Python
Django配置跨域并开发测试接口
Nov 04 Python
Pycharm配置autopep8实现流程解析
Nov 28 Python
Python操作CouchDB数据库简单示例
Mar 10 #Python
Python性能优化技巧
Mar 09 #Python
Python中的赋值、浅拷贝、深拷贝介绍
Mar 09 #Python
Python自动连接ssh的方法
Mar 07 #Python
Python最长公共子串算法实例
Mar 07 #Python
Python复制目录结构脚本代码分享
Mar 06 #Python
python获取android设备的GPS信息脚本分享
Mar 06 #Python
You might like
献给php初学者(入门学习经验谈)
2010/10/12 PHP
JQuery的ajax获取数据后的处理总结(html,xml,json)
2010/07/14 Javascript
学习面向对象之面向对象的基本概念:对象和其他基本要素
2010/11/30 Javascript
jquery随意添加移除html的实现代码
2011/06/21 Javascript
禁止空格提交表单的js代码
2013/11/17 Javascript
javascript右下角弹层及自动隐藏(自己编写)
2013/11/20 Javascript
JavaScript实现页面跳转的几种常用方式
2015/11/28 Javascript
jQuery轻松实现表格的隔行变色和点击行变色的实例代码
2016/05/09 Javascript
AngularJS基础 ng-init 指令简单示例
2016/08/02 Javascript
谈谈JS中常遇到的浏览器兼容问题和解决方法
2016/12/17 Javascript
bootstrap网格系统使用方法解析
2017/01/13 Javascript
jQuery获取table下某一行某一列的值实现代码
2017/04/07 jQuery
微信小程序开发之麦克风动画 帧动画 放大 淡出
2017/04/18 Javascript
微信小程序使用progress组件实现显示进度功能【附源码下载】
2017/12/12 Javascript
完美解决mui框架off-canvas侧滑超出部分隐藏无法滚动的问题
2018/01/25 Javascript
layui checkbox默认选中,获取选中值,清空所有选中项的例子
2019/09/02 Javascript
JS一次前端面试经历记录
2020/03/19 Javascript
JavaScript对象访问器Getter及Setter原理解析
2020/12/08 Javascript
python写的一个文本编辑器
2014/01/23 Python
php使用递归与迭代实现快速排序示例
2014/01/23 Python
python调用windows api锁定计算机示例
2014/04/17 Python
python操作redis的方法
2015/07/07 Python
Python的mysql数据库的更新如何实现
2017/07/31 Python
Pytorch Tensor 输出为txt和mat格式方式
2020/01/03 Python
Python实现自动访问网页的例子
2020/02/21 Python
HTML5中meta属性的使用方法
2016/02/29 HTML / CSS
美国专业消费电子及摄影器材网站:B&H Photo Video
2019/12/18 全球购物
证婚人经典证婚词
2014/01/09 职场文书
拾金不昧表扬信范文
2014/01/11 职场文书
文体活动实施方案
2014/03/27 职场文书
初三学习计划书范文
2014/04/30 职场文书
拾金不昧感谢信
2015/01/21 职场文书
继续教育个人总结
2015/03/03 职场文书
2015大学生求职信范文
2015/03/20 职场文书
售后前台接待岗位职责
2015/04/03 职场文书
2015年老干部工作总结
2015/04/23 职场文书