linux學習筆記--在qtcreator上安裝qwt插件

linux學習筆記2-在qtcreator上安裝qwt插件
----------------------------背景------------------------------------------------------------------------------------
平臺:裝有fedora17的虛擬機VM


----------------------------------------------------------------------------------------------------------------------


Qwt官方下載地址:http://sourceforge.jp/projects/sfnet_qwt/releases/


下面以qwt-5.2.1爲例講解


--------------------------------qwt的編譯及安裝----------------------------------------------------------------


步驟一:tar jxvf qwt-5.2.1.tar.bz2 解壓qwt-5.2.1.tar.bz2


步驟二:給linux系統添加qmake的臨時環境變量,因爲系統裏有兩個版本的qmake,分別爲ARM版和X86版。在編譯x86版的qwt時需要用x86版的qmake,在編譯ARM版的qwt時就需要用到ARM版的qmake,這個非常關鍵。


1. 編譯x86版qwt


添加qmake的臨時環境變量,我x86版qmake的路徑在/opt/qtsdk-2010.01/qt/bin/,所以執行以下命令


命令:exportPATH=/opt/qtsdk-2010.01/qt/bin/:$PATH


或命令:exportPATH=$PATH:/opt/qtsdk-2010.01/qt/bin/


(說明:通過export添加的換將變量知識臨時的,系統重啓後,添加的環境變量就沒了)


這時可以通過命令echo $PATH來查看系統的環境變量,可以看到/opt/qtsdk-2010.01/qt/bin/排在最前面,這時當執行qmake時,使用的就是/opt/qtsdk-2010.01/qt/bin/下x86版的qmake


步驟三:cd/qwt-5.2.1,進入到解壓後的文件夾,執行命令qmake,可以看到執行完qmake後在當前路徑下可以看到多了一個文件Makefile。可以用vi打開Makefile,在裏面可以看到一條規則QMAKE=/opt/qtsdk-2010.01/qt/bin/qmake,這正是我們通過添加環境變量的效果。當執行make命令時,就會使用/opt/qtsdk-2010.01/qt/bin/下的qmake。從而編譯出x86版的qwt。

步驟四:執行命令make,開始編譯。大概需要2-3分鐘。

步驟五:執行命令makeinstall,安裝qwt。打開當前路徑下qwt的配置文件qwtconfig.pri,可以看到裏面有一條規則指明瞭安裝路徑:INSTALLBASE=/usr/local/qwt-5.2.1,這個路徑可以根據我們的需要進行改動。
X86板的qwt編譯安裝到此就完了。


 


2.編譯ARM版的qwt


步驟一:


    把qwt-5.2.1.tar.bz2重新解壓到另外一個文件夾,我的是解壓到qwt-5.2.1-arm,這個很關鍵,否則在執行make時會與x86版本的.so動態鏈接庫相沖突出。接着再添加ARM版qmake的臨時環境變量。我的路徑在/usr/local/Trolltech/QtEmbedded-4.7.0-arm/下,所以執行命令:


     exportPATH=/usr/local/Trolltech/QtEmbedded-4.7.0-arm/:$PATH


     或命令:exportPATH=$PATH:/usr/local/Trolltech/QtEmbedded-4.7.0-arm/ 


     這時通過命令echo $PATH可以看到排在最前面的是/usr/local/Trolltech/QtEmbedded-4.7.0-arm/,所以在執行qmake是就是執行該路徑下的qmake,即ARM版的qmake。


步驟二:由於ARM版的qwt不需要QwtDesigner,所以修改配置文件qwtconfig.pri,將CONFIG+=QwtDesigner這一行註釋掉。在編譯x86版的qwt不需要註釋這行。


步驟三:執行qmake,生成Makefile。


步驟四:執行make,編譯ARM版的qwt。


步驟五:執行makeinstall,安裝qwt。安裝路徑依然可以通過qwt的配置文件qwtconfig.pri修改


ARM版的qwt的編譯及安裝到此結束。


---------------------------------------------------------------------------------------------------------------------------------


 


 


-------------------------------------------qwt的使用----------------------------------------------------------------------


下面講解如何將qwt的控件嵌入到qtcreator中。
      執行上述編譯步驟後,再次進入qwt-5.2.1(經過x86版qmake編譯後的),複製qwt-5.2.1/designer/plugins/designer/下的libqwt_designer_plugin.so文件到/opt/qtsdk-2010.01/qt/plugins/designer/下。再把qwt-5.2.1/lib下的4個文件分別複製到/opt/qtsdk-2010.01/lib下和/opt/qtsdk-2010.01/qt/lib下 。現在重啓qtcreator是應該可以看到qwt控件的,但是當我從快捷方式啓動qtcreator時,並沒有看到qwt控件,這讓我百思不得其解。後來通過命令啓動,進入到/opt/qtsdk-2010.01/bin下,執行命令./qtcreator啓動qtcreator,居然在裏面看到了qwt控件,興奮不已啊!



接下來自己重新建立個快捷方式。方法如下:


#vi /usr/share/applications/QtCreator.desktop


輸入以下內容,保存並退出vi即可!(在fedora和ubuntu下建立快捷方式一樣,代碼如下。爲其他應用程序建立快捷方式也是這樣的幾行代碼,稍作改動即可)


 


[Desktop Entry]


Encoding=UTF-8


Name=QtCreator


Comment=QtCreator


Exec=/opt/qtsdk-2010.01/bin/qtcreator    //應用程序qtcreator的路徑


Icon=/opt/qtsdk-2010.01/share/pixmaps/qtcreator_logo_256.png  //應用程序圖標的位置


Terminal=false


StartupNotify=true


Type=Application


Categories=Application;Development;


每次就從自己建立的快捷方式啓動,就可以看到qwt控件了。


 


注意:在編寫有qwt控件的程序時,需要在工程的.pro文件最後加入兩行


INCLUDEPATH += /usr/local/qwt-5.2.1-arm/include/


LIBS +=-L"/usr/local/qwt-5.2.1-arm/lib/" –lqwt


這兩行的作用是指定程序中與qwt有關的頭文件和動態鏈接庫所在的路徑。在編譯程序時,編譯器會在這兩個路徑中需找需要的頭文件和動態鏈接庫。在寫x86程序時,將上面兩行換成x86版qwt所在的路徑,在寫ARM版程序時,換成ARM版qwt的路徑即可。上面兩行是我ARM版qwt頭文件和動態鏈接庫所在的路徑。

要想讓程序在ARM版上運行起來,還需要把qwt-5.2.1(經過ARM版qmake編譯後的)/lib下的4個文件複製到ARM開發板linux系統的lib/下


由於我已編譯出了x86版和ARM版的qwt了,以後就不需在編譯了。只需按照上文複製文件夾qwt-arm-conpiled,qwt-x86-compiled和qwt-so下的文件到相應的位置即可。


後來我在linux物理機上用上述方法編譯安裝也成功了!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章