在QtCreator中使用 Qwt遇到的幾個問題
之前在項目中使用過Qwt二維繪圖架構,那是同事配置好的環境,我們只管使用。今天想在自己的電腦上安裝Qwt6.0.1研究一下它的源碼。於是想自己動手編譯安裝Qwt,然後在QtCreator整合式開發環境中使用。Qwt6.0.1的編譯安裝,很簡單,網上也有很多的文章,這裡不再發明同樣的輪子。只把自己遇到的幾個問題,簡單記錄,已作備忘:
1、Qt的安裝
我在安裝Qt4.7.4的時候,彈出了如下一個對話方塊,要我們指定mingw的位置,預設位置為C:/MinGW,我以前安裝Qt的時候,也遇到過這個問題,我是不管它,照舊安裝,那之所以沒有遇到問題,是因為我沒有用Qt的命令列視窗去編譯過第三方庫。我今天安裝的時候,機器上還沒有mingw,因為我是先安裝Qt,然後再安裝QtCreator的,而QtCreator裡面內建了mingw,因此我打算就用QtCreator裡面內建了mingw,所以還是強行安裝,結果後來編譯Qwt時出現了問題。
而如果你還沒有mingw的話,你點擊按鈕Install會彈出下面這個提示對話方塊。如果點擊“是”會繼續安裝,點擊“否”退出安裝Qt.
我點擊了“是”,繼續安裝Qt。
注意:請根據實際情況指定你機器上mingw的位置。
2、Qwt的安裝
Qwt的安裝很容易。但我【Start a Shell, where Qt4 is initialized. ( F.e. with
"Programs->Qt by Trolltech ...->Qt 4.x.x Command Prompt" ).
Check if you can execute "make" or something like "mingw32-make".】
出現了問題,提示說mingw32-make不是一個有效命令,經查是因為在安裝Qt的時候指定的mingw的路徑不對。
不知道應該怎麼修改?嘗試了修改環境但都不湊效,弄得我最後不得不卸載Qt後重新安裝。
由此得到一個結論:如果你打算使用QtCreator裡面內建的mingw作為預設的編譯器的話,最好先安裝QtCreator,然後再安裝Qt,這樣就可以指定mingw的位置。
編譯安裝Qwt很簡單,根據上面的提示qmake qwt.pro / make / make install 就好了。
3、Qwt的使用
說得很簡單。
但是我卻在上一步編譯安裝Qwt後忘記了下面這一步。
Don't forget to tell qmake where to find qwt.prf:
qmake -set QMAKEFEATURES ...
這一句說得很清楚,可我就偏偏忘記了。導致後來測試Qwt 是否成功安裝時又折騰了一會。
不過在Qt命令列視窗再次執行 qmake -set QMAKEFEATURES C:\Qwt-6.0.1\features 後,問題得到解決。
4、在QtCreator中像使用Qt的控制項一樣使用Qwt的控制項?
設定好這個環境變數之後,在 QtCreator中,還是沒有看到Qwt的控制項。於是在QtCreator的“工具——>介面編輯器——>關於Qt設計師外掛程式”彈出,如下對話方塊,
可以清楚的看到,原來Qwt的控制項沒有匯入成功,原因是:“不是用期望的編譯器編譯的版本。”那麼這是為什麼呢?網上有說是因為 QtCreator要求設計師的外掛程式和它自身是用同一個編譯器編譯的。這麼說
QtCreator 是用MSVC編譯出來的吧?如果我們想要在QtCreator中使用Qwt的控制項,就需要下載QtCreator的源碼,用mingw編譯它。
今天手頭沒有QtCreator的源碼,網速也不給力沒有下載它的源碼來嘗試。暫且把這個問題留下,日後再驗證之。
以下是從網上摘錄下來的一段話:
本來,《淺入深出在Win XP上傻瓜式編譯安裝Qwt》已經將有關Qwt的安裝問題講得很清楚了,可是他在 Build QT Creator from source with MinGW時說“看過的同學們應該能很輕易的完成這步驟”,可我硬是用了三天才完成了這一步,所以就把這一步說說。
其實很簡單:
1、下載並安裝QT Creator,注意要下載那個近178M的檔案,它包含Qt、MinGW、Qt creator;
2、按照《淺入深出在Win XP上傻瓜式編譯安裝Qwt》安裝好Qwt;
3、下載QT Creator源碼,解壓;
4、用QT Creator開啟源碼目錄下的qtcreator.pro,設定為Release,編譯;
5、用源碼目錄下的bin、lib目錄替換QT Creator目錄下的同名目錄;
6、在XP系統內容變數下增加:
Path=C:\QT\2009.03\qt\bin;...
QTDIR=c:\qt\2009.03\qt
QMAKESPEC=win32-g++
7、運行QT Creator,看看QWT Widgets是不是出現了?
參考文章:
http://turbinee.blog.sohu.com/132803953.html
http://www.cuteqt.com/blog/?p=994