背景
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来安装,唯一的不足就是装的版本比较老
1825

被折叠的 条评论
为什么被折叠?



