linux下使用Scons构建自己的项目程序

原来简单介绍了一种项目自动编译的工具cmake,不过它基本是针对与c++程序而设计的,我感觉cmake已经很方便了,比写Makefile要舒服多了,最近又看到一个scons,瞬间感觉scons才是真爱啊。

scons简介

SCons 是一个开放源代码、以 Python 语言编写的下一代的程序建造工具。它最初的名字是 ScCons, 基于由 perl 语言编写的 Cons 软件开发而成,它在 2000 年 8 月获得了由 Software Carpentry 举办的 SC 建造比赛的大奖。现在 ScCons 已经被改名为 SCons,目的是为了表示不再与 Software Carpentry 有联系,当然,还有一个目的,就是为了更方便的输入。

使用

先安装:
最简单粗暴

sudo apt-get install scons

当然你也可以去下载压缩包再自己安装。

一,SConstruct 文件

它是scons用来控制编译的文件,类似MakeFile,是一个Python脚本,它告诉scons做什么,而不是严格的规定scons做这件事的步骤。

二,scons 运行选项

运行:scons
1,-c 就是清理你创建的文件,就是make clean
2, -Q 就是省略自带的一堆废话,只显示编译过程

三,SConstrcut文件编写基础

1.scons支持的编译类型
  • scons支持的编译类型有
  • Program: 编译成可执行程序
  • Object :只编译成目标文件,使用这种类型,编译结束后,只会产生目标文件,.o文件。
  • Library :编译成库文件,scons默认编译的库是指静态链接库
  • StaticLibrary :显式的编译成静态链接库,与上面的Library效果一样
  • SharedLibrary :编译成动态库

    2.指定目标名,且编译多个文件
Program('hello',['file.c','file2.c']),  //生成可执行文件hello
3,可以使用Glob编译所有匹配的文件
Program('hello',Glob('*.c')),
4,使用Split,以空白字符为分割符,将字符串分割。
Program('hello',Split("main.c file1.c file2.c")),
5,文件中的关键字

CCFLAGS 指定编译选项
LINKFLAGS 指定链接选项
CPPDEFINES指定预编译器
LIBS 指定所需要链接的库文件
LIBPATH 指定库文件(lib)的搜索路径
CPPPATH 指定[.h,.c,.cpp]等文件的搜素路径


                
  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值