这段时间用到了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命令进行编译,效果如下:
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
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]