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物理机上用上述方法编译安装也成功了!

你可能感兴趣的:(LINUX相关,qt相关)