scons入门笔记
这段时间用到了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
本文github地址:
https://github.com/mike-zhang/mikeBlogEssays/blob/master/2013/20130522_scons入门笔记.md
欢迎补充
分类:
其它
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)