Windows下用Scons編譯QT程式
關於什麼是python、什麼是scons、什麼是qt……這些膚淺、粗俗的問題,請求助於搜尋引擎。
本文僅記錄怎麼在Windows系統上讓這幾位合作起來。
注意:
1. 前提是系統已經安裝有QT SDK,安裝有VC(或者MingW或者Cygwin之類的編譯環境)。
2. 注意文中路徑,網上很多不成功的情況都源自某個環節的路徑出錯。
3. 文中所列均為跨平臺工具,理論上在其它系統環境下也能完成,成與不成,看你的悟性,以及人品。
一、安裝Python。
目前scons只能工作在python2系列上。我們需要先安裝python2,現在python2系列最新的版本是2.7.2。
最好的方式是到python.org上去下載windows installer,相當簡單,基本一路next就OK。
假設我們安裝在D:\SOFTWARE\Python2.7
二、安裝scons。
最好的方式是去www.scons.org下載scons的windows intaller。當前最新的版本是http://prdownloads.sourceforge.net/scons/scons-2.1.0.win32.exe。
然後點選安裝。基本上,你只需簡單的一路next。
scons的installer會自動檢測已經安裝的python,然後將自己的程式安裝到python子目錄下。
安裝好的路徑應該是這樣:
D:\SOFTWARE\Python2.7\Lib\site-packages\scons-2.1.0
三、測試scons。
隨便找個目錄,新建一個helloworld.c。
1 |
#include
<stdio.h> |
2 |
int main() |
3 |
{ |
4 |
printf ( "Hello,
world!\n" ); |
5 |
return 0; |
6 |
} |
相同目錄下再新建一個名為"Sconstruct"的檔案,內容只有一行,注意大小寫。:
Program(‘hello.c’)
然後進入命令列模式,CD到Sconstruct所在的目錄,執行scons命令。
一般會有以下輸出:
C:\>scons
scons: Reading SConscript files …
scons: done reading SConscript files.
scons: Building targets …
cl /Fohello.obj /c helloworld.c /nologo
link /nologo /OUT:helloworld.exe helloworld.obj
embedManifestExeCheck(target, source, env)
scons: done building targets.
同時在當前目錄下會生成一個hellow.exe,大功造成。
四、安裝scons-qt。
scons-qt是基於scons專案的擴充套件模組,可以讓scons支援QT特有的編譯工具,像moc,rcc,uic等。
在scons的wiki頁面上可以看到scons-qt的介紹。(http://www.scons.org/wiki/ToolsIndex)
當前scons-qt的主頁在 https://bitbucket.org/dirkbaechle/scons_qt4/downloads 。
當前最新版的下載地址 https://bitbucket.org/dirkbaechle/scons_qt4/get/default.zip 。
解壓出來會看到兩個目錄,分別是使用手冊和測試用例,先放一邊。
真正需要安裝的其實只有一個檔案,即__init__.py。
在D:\SOFTWARE\Python2.7\Lib\site-packages\scons-2.1.0\SCons\Tool目錄下新建一個名為qt4的資料夾。
然後把__init__.py拷貝到該目錄中。就這麼簡單。
五、測試scons-qt。
下面是一個簡單的QT程式,helloqt.cpp。
|