SCONS编译和使用

背景

scons是一个编译工具,其构建文件的语法于python类似,因此经常被一些开源项目使用。

编译

首先,下载源码压缩包https://sourceforge.net/projects/scons/,而后把zip文件上传到ubuntu,unzip解压,cd进入, 使用python3进行编译

root@rtlab-computer:/home/rtlab/szc#unzip SCons-4.1.0.post1.zip
root@rtlab-computer:/home/rtlab/szc#cd SCons-4.1.0.post1
root@rtlab-computer:/home/rtlab/szc/SCons-4.1.0.post1#python setup.py install

最后执行scons来测试是否安装成功

root@rtlab-computer:/home/rtlab/szc# scons -v
SCons by Steven Knight et al.:
    SCons: v4.1.0.post1.12f24df0004ced8b91e758f29cd6396e60f37f5a, 2021-05-28 17:53:39, by bdbaddog on ProDog2020
    SCons path: ['/usr/local/lib/python3.6/dist-packages/SCons-4.1.0.post1-py3.6.egg/SCons']
Copyright (c) 2001 - 2021 The SCons Foundation

使用

编写用来测试的test.c文件和SConstruct文件

root@rtlab-computer:/home/rtlab/szc/test_SCons# cat test.c
#include <stdio.h>

int main() {
    printf("Test Scons from szc.\n");
    return 0;
}
root@rtlab-computer:/home/rtlab/szc/test_SCons# cat SConstruct
Program("test.c")

而后运行以下命令进行编译

root@rtlab-computer:/home/rtlab/szc/rt-thread/bsp/mini2440# scons
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
gcc -o test.o -c test.c
gcc -o test test.o
scons: done building targets.

查看生成的结果文件,并测试运行

root@rtlab-computer:/home/rtlab/szc/test_SCons# ll
total 36
drwxr-xr-x  2 root  root  4096 Jun  8 10:50 ./
drwxrwxrwx 42 root  root  4096 Jun  8 10:49 ../
-rw-r--r--  1 rtlab rtlab 1447 Jun  8 10:50 .sconsign.dblite
-rw-r--r--  1 root  root    18 Jun  8 10:50 SConstruct
-rwxr-xr-x  1 root  root  8296 Jun  8 10:50 test*
-rw-r--r--  1 root  root    81 Jun  8 10:49 test.c
-rw-r--r--  1 root  root  1544 Jun  8 10:50 test.o
root@rtlab-computer:/home/rtlab/szc/test_SCons# ./test
Test Scons from szc.

最后,使用参数-c,清空上次编译结果

root@rtlab-computer:/home/rtlab/szc/test_SCons# scons -c
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Cleaning targets ...
Removed test.o
Removed test
scons: done cleaning targets.
root@rtlab-computer:/home/rtlab/szc/test_SCons# ll
total 20
drwxr-xr-x  2 root  root  4096 Jun  8 10:53 ./
drwxrwxrwx 42 root  root  4096 Jun  8 10:49 ../
-rw-r--r--  1 rtlab rtlab 1447 Jun  8 10:50 .sconsign.dblite
-rw-r--r--  1 root  root    18 Jun  8 10:50 SConstruct
-rw-r--r--  1 root  root    81 Jun  8 10:49 test.c

结语

当然也可以通过apt-get来安装,唯一的不足就是装的版本比较老

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值