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 相关文章推荐
使用IPython下的Net-SNMP来管理类UNIX系统的教程
Apr 15 Python
Python解析nginx日志文件
May 11 Python
python爬虫实战之最简单的网页爬虫教程
Aug 13 Python
Python 基础教程之str和repr的详解
Aug 20 Python
2019 Python最新面试题及答案16道题
Apr 11 Python
Python之Class&amp;Object用法详解
Dec 25 Python
Python request操作步骤及代码实例
Apr 13 Python
详解python内置模块urllib
Sep 09 Python
用python发送微信消息
Dec 21 Python
python 实现图片裁剪小工具
Feb 02 Python
Pytest之测试命名规则的使用
Apr 16 Python
python Django框架快速入门教程(后台管理)
Jul 21 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数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
2011/10/29 PHP
探讨file_get_contents与curl效率及稳定性的分析
2013/06/06 PHP
php实现根据url自动生成缩略图的方法
2014/09/23 PHP
thinkphp四种url访问方式详解
2014/11/28 PHP
深入理解PHP中的empty和isset函数
2016/05/26 PHP
用JavaScript和注册表脚本实现右键收藏Web页选中文本
2007/01/28 Javascript
javascript中substr,substring,slice.splice的区别说明
2010/11/25 Javascript
javascript 星级评分效果(手写)
2012/12/24 Javascript
Javascript的&amp;&amp;和||的另类用法
2014/07/23 Javascript
JS实现的简洁纵向滑动菜单(滑动门)效果
2015/10/19 Javascript
AngularJS基础 ng-show 指令简单示例
2016/08/03 Javascript
浅析Javascript ES6中的原生Promise
2016/08/25 Javascript
Bootstrap Modal对话框如何在关闭时触发事件
2016/12/02 Javascript
提高Web性能的前端优化技巧总结
2017/02/27 Javascript
微信小程序 实现列表项滑动显示删除按钮的功能
2017/04/13 Javascript
基于vue实现swipe轮播组件实例代码
2017/05/24 Javascript
JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
2018/01/07 Javascript
微信小程序使用template标签实现五星评分功能
2018/11/03 Javascript
详解离线安装npm包的几种方法
2018/11/25 Javascript
[01:26]神话结束了,却也刚刚开始——DOTA2新英雄玛尔斯驾临战场
2019/03/10 DOTA
[54:30]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
使用setup.py安装python包和卸载python包的方法
2013/11/27 Python
Python使用sorted排序的方法小结
2017/07/28 Python
浅谈Python traceback的优雅处理
2018/08/31 Python
python实现n个数中选出m个数的方法
2018/11/13 Python
python numpy 常用随机数的产生方法的实现
2019/08/21 Python
Python cookie的保存与读取、SSL讲解
2020/02/17 Python
Trunki英国官网:儿童坐骑式行李箱
2017/05/30 全球购物
英国Office鞋店德国网站:在线购买鞋子、靴子和运动鞋
2018/12/19 全球购物
Crocs波兰官方商店:女鞋、男鞋、童鞋、洞洞鞋
2019/10/08 全球购物
俄罗斯第一家多品牌在线奢侈品精品店:Aizel.ru
2020/09/06 全球购物
求职信标题怎么写
2014/05/26 职场文书
先进工作者事迹材料
2014/12/23 职场文书
幼儿园园长六一致辞
2015/07/31 职场文书
成本低的5个创业项目:投资小、赚钱快
2019/08/20 职场文书
python数字图像处理实现图像的形变与缩放
2022/06/28 Python