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

作者:junjie 时间:2023-09-21 19:58:16 

这段时间用到了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,自动化构建工具,scons
0
投稿

猜你喜欢

  • 用Python将mysql数据导出成json的方法

    2024-01-26 09:08:58
  • 一小时快速入门Python教程

    2023-03-06 04:07:03
  • python中opencv实现图片文本倾斜校正

    2023-08-27 11:07:03
  • Vue.js设计与实现无限递归学习总结

    2024-04-28 10:53:53
  • Python实现的端口扫描功能示例

    2022-06-25 10:42:04
  • MySql获取某个字段存在于哪个表的sql语句

    2024-01-18 23:12:11
  • pytorch fine-tune 预训练的模型操作

    2023-05-02 01:05:25
  • Java实现数据库连接池简易教程

    2024-01-20 01:30:29
  • workerman写mysql连接池的实例代码

    2024-01-20 02:52:26
  • 从数据表中取出第n条到第m条的记录的方法

    2009-02-19 13:40:00
  • python实现数据预处理之填充缺失值的示例

    2022-01-24 19:44:30
  • 微信小程序 picker-view 组件详解及简单实例

    2024-04-19 09:44:13
  • python画一个圣诞树实现示例

    2021-06-12 03:54:53
  • 使用C语言扩展Python程序的简单入门指引

    2021-05-20 22:13:16
  • 如何利用Golang解析读取Mysql备份文件

    2024-01-28 20:51:19
  • 十分钟利用Python制作属于你自己的个性logo

    2021-08-25 05:12:41
  • python 用递归实现通用爬虫解析器

    2022-04-15 08:13:55
  • Python学习之异常中的finally使用详解

    2021-09-08 02:21:38
  • 基于python写个国庆假期倒计时程序

    2022-06-04 20:35:32
  • Mysql查询时间区间日期列表实例代码

    2024-01-17 16:17:32
  • asp之家 网络编程 m.aspxhome.com