這段時(shí)間用到了scons,這里總結(jié)下,也方便我以后查閱。
一、安裝scons
Linux環(huán)境(以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 : 可以清除生成的臨時(shí)文件和目標(biāo)文件,相當(dāng)于執(zhí)行make clean。
scons -Q : 將產(chǎn)生更少的輸出信息。
三、scons使用示例
1、編譯可執(zhí)行文件
使用Program函數(shù)進(jìn)行可執(zhí)行文件的編譯。
1.1 單文件方式
1.1.1 編寫(xiě)程序代碼
建立文件test.c,內(nèi)容如下:
#include
int main()
{
??? printf("Just a test!\n");
??? return 0;
}
1.1.2 編寫(xiě)SConstruct代碼
內(nèi)容如下:
Program("test1.c")
1.1.3 編譯程序
執(zhí)行scons命令進(jìn)行編譯,效果如下:
1.2 多文件方式
1.2.1 編寫(xiě)程序代碼
test1.h文件:
#include
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 編寫(xiě)SConstruct代碼
內(nèi)容如下:
Program('test', ['test1.c','test2.c'])
或者:
Program('test',Glob('*.c'))
1.2.3 編譯程序
執(zhí)行scons命令進(jìn)行編譯。
1.3 依賴(lài)
1.3.1 鏈接庫(kù)
語(yǔ)法示例如下:
Program('test', ['test1.cpp'],LIBS=['boost_system','boost_thread-mt'], LIBPATH='/usr/lib64')
1.3.2 包含庫(kù)
語(yǔ)法示例如下:
Program('program',Glob('*.c'),CPPPATH='/home/admin/inc')
2、編譯靜態(tài)庫(kù)
語(yǔ)法示例如下:
Library('libtest1',['test1.c'])
3、編譯動(dòng)態(tài)庫(kù)
語(yǔ)法示例如下:
SharedLibrary('libtest1',['test1.c'])
三、其它
參考資料
(1) scons主頁(yè):http://www.scons.org/
(2) scons文檔:http://www.scons.org/documentation.php
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
