Qt使用日記 1 安裝

2021-04-01 16:58:56 字數 1810 閱讀 4063

以前開發軟體一直使用borland c++ builder系列的開發工具,但用久了,覺得寫出來的程式介面太一般了(有很大的原因是研究不深?!)。另外,基於編寫多平台(主要是linux和unix)軟體的需求,需要另外找一套支援多平台介面開發包。在google上找了幾日,瞄上了qt.

下面要記錄的是學習、使用qt的過程,和其中發生的故事,走過的彎路,等等......

2005-08-30: qt的安裝

2. 安裝

首先安裝上mingw,然後再次安裝qt的時候,安裝過程中指定mingw的目錄即可安裝完成。安裝過程略. :-)

qt安裝完後,在bin目錄下有乙個qtdemo.exe,執行這個檔案可以顯示所有qt安裝包內附帶的demo和example,通過這個可以快速瀏覽一下利用qt的開發包設計出來的windows程式。

開起來是安裝完成了,但接下來的問題就出來了...

3.試執行

執行bin目錄下的assistant程式,開啟qt的隨機文件,進入qt reference documentation->tutorial & examples->qt tutorial 1 - hello world!,開始來執行第乙個qt程式。

首先,將examples/tutorial/t1目錄下的main.cpp複製到乙個新的目錄下,然後從開始選單中選擇"程式"->「qt by trolltech v4.0.1 (opensource)」->「qt 4.0.1 command prompt」進入到命令列視窗(注:也可以利用cmd來進入到命令列視窗,但通過這個程式進入,會設定好一些環境變數,更加方便。),cd到剛才儲存main.cpp的新目錄,按照教程中所說的,執行以下兩個命令:

qmake -project (這個命令用於產生.pro檔案)

qmake (這個命令用於產生makefile檔案)

然後,教程中寫了執行make指令,但問題出來了,一串錯誤資訊,說的是「-lqtmaind」這個選項有錯誤,缺少乙個qtmaind的庫檔案。(由於從來沒有用過gcc的命令列編譯器,一開始對這個錯誤訊息也不理解,為了找這個原因還頗費周折。)這下傻眼了,怎麼會缺少庫檔案?到qt的lib目錄下找,確實沒有這個libqtmaind.a檔案。怎麼會這樣?

回頭在去看一下,安裝文件(在qt/4.0.1下有個install檔案),發現問題了,上面說了,在解壓縮完成後,還有第三步building,剛才這步沒有做。然後按照這個說明繼續執行第三步building。(看來做任何事情都先看看說明,弄清楚怎麼做還是很有必要的,可以少走彎路。)cd到qt/4.0.1目錄下,分別執行以下命令:

configure

mingw32-make

............

注意:這步執行的是,根據環境產生qmake程式,然後在rebuild所有的qt原始檔,demo,examples,tools,plugins,時間非常長,要有思想準備(我在pm 1.6g, 512m記憶體的筆記本上跑了兩個多小時,在另一台雙cpu-amd64, 16g記憶體,64位xp的小型工作站上執行了將近70分鐘)。而且執行前要注意,關閉所有qt用到的程式,包括demo,example,assistant等等。因為在rebuild過程中,會重新生成並覆蓋這些exe,dll等檔案,如果這些檔案正在使用,就會產生錯誤,整個rebuild過程會全部中止。又要重新開始,我在這裡就中斷了兩次(當然後面一次,我修改了qt自動產生的makefile檔案,去掉了已經完成的部分,然後繼續build剩餘的**)。

在rebuild過程中,到qt的lib目錄下會看到,會產生一些lib*.a,*.dll的庫檔案,剛才所缺少的libqtmaind.a也在其中。

執行完成後,在回頭去繼續教程中的最後一步make,沒有任何錯誤,最終生成了第乙個用qt寫的程式。

ok, 第一天的報告就這些,以後再續。

Qt使用日記 1 安裝

以前開發軟體一直使用borland c builder系列的開發工具,但用久了,覺得寫出來的程式介面太一般了 有很大的原因是研究不深?另外,基於編寫多平台 主要是linux和unix 軟體的需求,需要另外找一套支援多平台介面開發包。在google上找了幾日,瞄上了qt.下面要記錄的是學習 使用qt的...

QT開發日記

1,在使用moc的時候,q object這個巨集不能用在乙個類的定義檔案中,只能在單獨作為乙個類的宣告檔案中用,否則會出現 vtable for x 類名 的出錯提示。如果乙個類只宣告了,而沒有定義,也會出現上述錯誤.這時可以在這個檔案的末尾加上 include moc xx為不要.cpp字尾的檔名...

Qt使用筆記(1) Qt的安裝與編譯

2.將全部檔案解壓到乙個目錄中,使用如下批處理 rem 設定vs的環境變數 set oldpath path set path c program files microsoft visual studio 9.0 common7 tools d qt 4.4.3 bin path call vsv...