這段時間用到了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基於庫 二進位制檔案 指令碼和資料集的概念進行操作,避免了對編譯器和鏈結器等工具...