Python自動化構建工具scons使用入門筆記

2021-07-25 14:14:25 字數 1830 閱讀 6087

這段時間用到了scons,這裡總結下,也方便我以後查閱。

一、安裝scons

linux環境(以centos為例)

1、yum安裝

yum install scons

2、原始碼安裝

安裝scons:python setup.py install

二、scons常用命令

scons -c : 可以清除生成的臨時檔案和目標檔案,相當於執行make clean。

scons -q : 將產生更少的輸出資訊。

三、scons使用示例

1、編譯可執行檔案

使用program函式進行可執行檔案的編譯。

1.1 單檔案方式

1.1.1 編寫程式**

建立檔案test.c,內容如下:

複製**

**如下:

#include

int main()

1.1.2 編寫sconstruct**

內容如下:

複製**

**如下:

program("test1.c")

1.1.3 編譯程式

執行scons命令進行編譯,效果如下:

1.2 多檔案方式

1.2.1 編寫程式**

test1.h檔案:

複製**

**如下:

#include

void fun11();

test1.c檔案:

複製**

**如下:

#include "test1.h"

void fun11()

test2.c檔案:

複製**

**如下:

#include "test1.h"

int main()

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主頁:

(2) scons文件:documentation.php

**:

gulp前端自動化構建工具

gulp是基於node.js的乙個構建工具 自動任務執行器 開發者可以使用它自動化工作流程。一些常見的 重複的任務,例如 網頁自動重新整理 css預處理 檢測 壓縮 等,只需要簡單的命令就能全部完成。使用它可以簡化工作,提高開發效率。gulp優點 簡潔 gulp側重 優於配置 最直觀的感受,更為簡單...

自動化構建工具gulp入門(二)

外掛程式官網 gulp sass 開發環境下書寫 sass 或 less 函式式的書寫自己的樣式是一種很好的開發體驗,但我們最終仍需將sass或less編譯轉化為css檔案引入。gulp sass可以幫助我們完成這部分的工作。npm install gulp sass外掛程式安裝後在gulpfile...

強大的自動化構建工具 Bazel

bazel是乙個開源的構建和測試工具。它使用一種易讀的高階構建語言。bazel支援多種語言,並且可以為多種平台構建輸出。1.高水平的構建語言。bazel使用抽象 易讀的語言在高語義級別上描述你的專案的構建屬性。bazel基於庫 二進位制檔案 指令碼和資料集的概念進行操作,避免了對編譯器和鏈結器等工具...