本人开发环境:
#################################
OS:win-xp
嵌入式开发环境:
Vmware:8.0
Linux OS: Ubuntu(10.10)
开发平台:
1:Qtsdk-2010.05--------此为本人在桌面上开发所用版本
2:qt-opensource-4.7.0(tiny6410ARM) --------tiny6410上的Qt环境为qt4.7.0
3:qt-opensource-4.8.5(mini6410ARM) -------- mini6410上的Qt环境为qt4.8.5
#################################
本文只讲解关于在三个平台上搭建Qwt环境,至于安装对应版本的平台,请读者自行在网络上查找相关文档,应该很全面的。
首先获取qwt的源码包,可以在地址:http://sourceforge.net/projects/qwt/files/qwt/处下载,我下载的是qwt-6.0.1.tar.bz2版本的,下载文件:qwt-6.0.1.qch和qwt-6.0.1.tar.bz2,其中前者是对应的help文件,可以直接导入到对应的QtCreator中,而后者恰好是我们需要源文件。
###########################安装Qtsdk-2010.05版 Qwt###################################
安装
解压:使用tar jxvfqwt-6.0.1.tar.bz2 解压缩qwt的源码包(本人直接解压到/root/Desktop下的),然后依次执行以下命令
$:cd /root/Desktop/wt-6.1.0/
$:用vi 打开qwtconfig.pri,修改第22行:(因需要Qwt控件,次版本并未屏蔽QWT_CONFIG += QwtDesigner行, QWT_CONFIG+=QwtExamples默认是屏蔽了的)
QWT_INSTALL_PREFIX = /usr/local/qwt-$$QWT_VERSION为
QWT_INSTALL_PREFIX = /yourlocalplace/qwt-$$QWT_VERSION
#本人将三个版本的qwt都是放在/usr/local下的,本人的安装地址为:yourlocalplace=/usr/local/qwt-Qtsdk-2010.05/,
#下文如未说明,yourlocalplace均以此为说明
生成Makefile $:/opt/qtsdk-2010.05/qt/bin/qmake /×(这是版本qtsdk-2010.05qmake所在位置)×/
$:用vi新修改Makefile以下行:17行和18行:
Make $:makeLine 17: LINSTALL_FILE = install -m 644 -p 修改权限为INSTALL_FILE = install -m 777 –p
Line 18:INSTALL_PROGRAM = install -m 755 -p修改权限为INSTALL_PROGRAM= install -m 777 –p
#这两步,网络上没有人这样做过,我只是这样修改了下,具体为何,请明白的人互动下)。并保存退出。
安装 $:make install
最后将在/yourlocalplace/qwt-6.0.1/下生成qwt-6.0.1几个子文件夹:
doc features include lib plugins这几个文件
plugins qwt控件文件libqwt_designer_plugin.so。
include qwt控件所需的头文件
lib qwt控件所需动态连接文件
部署
$cd : /yourlocalplace/qwt-6.0.1/ /×切换到/yourlocalplace/qwt-6.0.1/×/
生成Qwt控件:
将/yourlocalplace/qwt-6.0.1/designer/ibqwt_designer_plugin.so库文件拷贝到Qtcreator的designer目录下面。以本人版本为例:
$:cp /usr/local/qwt-Qtsdk-2010.05/qwt-6.0.1/plugins/designer/libqwt_designer_plugin.so /opt/qtsdk-2010.05/bin/designer/
建立动态连接库:
拷贝生成的qwt的l库文件拷贝进对应版本的lib库中,并建立对应的动态连接。
$:cp /yourlocalplace/qwt-6.0.1/designer/lib/lib* 拷贝进对应版本的lib库中。以本人本版本为例:
$:cp/usr/lqwt-Qtsdk-2010.05/qwt-6.0.1/lib/* /opt/qtsdk-2010.05/qt/lib/
建立Qwt库头文件与qtsdk-2010.05间的关系(这一步,本人不是很理解为什么拷贝进来后,在建立QWT工程时还是需要另为连接到建立QWT库时的include目录,望知道的小伙伴们互动下,告诉我下)
测试$:cp/usr/lqwt-Qtsdk-2010.05/qwt-6.0.1/include/* /opt/qtsdk-2010.05/qt/include/Qwt/(本来没有Qwt这个文件夹,用这条命令将自动创 建一个Qwt文件夹,并实现对应拷贝)
$:ldconfig(此时qtcreator的lib关联新添加的qwt动态库,并在Qtcreator的设计师中添加了qwt控件)
.新建一个qwt工程:并 在pro文件中添加一句:
INCLUDEPATH +=/yourlocalplace/qwt-6.0.1/include
LIBS += -L /yourlocalplace/qwt-6.0.1/lib -lqwt
以本人本版本为例:
INCLUDEPATH +=/usr/lqwt-Qtsdk-2010.05/qwt-6.0.1/include
LIBS += -L /usr/lqwt-Qtsdk-2010.05/lib -lqwt
在左边的设计师窗口拖拽一个QWT控件进主窗口,并run qmake 后run。界面如图:
导入Help文件
将下载的qwt-6.0.1.qch导进QtCreator
打开QtCreator,在tools菜单栏下,选择options,并点击help,在Documention栏中电解Add,将所下载的qwt-6.0.1.qch添加进QtCreator.如图:
至此qtsdk-2010.05版本安装完毕
######安装qt-opensource-4.7.0(tiny6410ARM)版和qt-opensource-4.8.5(mini6410ARM) #########
安装
解压:使用tar jxvfqwt-6.0.1.tar.bz2 解压缩qwt的源码包(本人直接解压到/root/Desktop下的),然后依次执行以下命令
$:cd /root/Desktop/wt-6.1.0/
$:用vi 打开qwtconfig.pri,修改第22行:(因为本版本不需要designer故屏蔽QWT_CONFIG += QwtDesigner行,QWT_CONFIG+=QwtExamples默认是屏蔽了的)
QWT_INSTALL_PREFIX = /usr/local/qwt-$$QWT_VERSION为
QWT_INSTALL_PREFIX = /yourlocalplace/qwt-$$QWT_VERSION
#本人将三个版本的qwt都是放在/usr/local下的,本人对应q版本的安装地址为:
#qt-opensource-4.7.0(tiny6410ARM)版:yourlocalplace=/usr/local/qwt-Qt4.7.0/,
#qt-opensource-4.8.5(tiny6410ARM)版:yourlocalplace=/usr/local/qwt-Qt4.8.5/,
#下文如未说明,yourlocalplace均以此为说明)
生成对应Makefile
#qt-opensource-4.7.0(tiny6410ARM)版:
$:/usr/local/Qt4.7.0/bin/qmake /×(这是版本Qt4.7.0 安装位置,qmake所在位置为左边所示)×/
$:用vi新修改Makefile以下行:17行和18行:
Line 17: LINSTALL_FILE = install -m 644 -p 修改权限为INSTALL_FILE = install -m 777 –p
Line 18:INSTALL_PROGRAM = install -m 755 -p修改权限为INSTALL_PROGRAM= install -m 777 –p
#这两步,网络上没有人这样做过,我只是这样修改了下,具体为何,请明白的人互动下)。并保存退出。
#qt-opensource-4.8.5(tiny6410ARM)版::
$:/usr/local/Qt4.8.5/bin/qmake /×(这是版本Qt4.8.5 安装位置,qmake所在位置为左边所示)×/
$:用vi新修改Makefile以下行:17行和18行:
Line 17: LINSTALL_FILE = install -m 644 -p 修改权限为INSTALL_FILE = install -m 777 –p
Line 18:INSTALL_PROGRAM = install -m 755 -p修改权限为INSTALL_PROGRAM= install -m 777 –p
#这两步,网络上没有人这样做过,我只是这样修改了下,具体为何,请明白的人互动下)。并保存退出。
Make $:make
安装 $:make install
最后将在/yourlocalplace/qwt-6.0.1/下生成qwt-6.0.1几个子文件夹:
doc features include lib 这几个文件
include 嵌入式版qwt控件所需的头文件
lib 嵌入式版qwt控件所需动态连接文件
部署
$cd : /yourlocalplace/qwt-6.0.1/ /×切换到/yourlocalplace/qwt-6.0.1/×/
建立动态连接库:
[【电脑上】拷贝生成的嵌入式版本qwt的l库文件拷贝进对应版本的lib库中,并建立对应的动态连接。
#qt-opensource-4.7.0(tiny6410ARM)版:
#qt-opensource-4.8.5(tiny6410ARM)版::$:cp /usr/local/qwt-Qt4.7.0/qwt-6.0.1/lib/* /usr/local/Qt4.7.0/lib/
建立嵌入式版本Qwt库头文件与qt-opensource-4.7.0(tiny6410ARM)版间的关系
$:cp /usr/local/qwt-Qt4.7.0/qwt-6.0.1/include/* /usr/local/Qt4.7.0/include/Qwt/(本来没有Qwt这个文件夹,用这条命令将自动创 建一个Qwt文件夹,并实现对应拷贝)
#这一步,本人不是很理解为什么拷贝进来后,在建立QWT工程时还是需要另为连接到安装此版本的QWT库时的include目录,望知道的小伙伴们互动下,告诉我下
$:ldconfig(此时/usr/local/Qt4.7.0的lib关联新添加的qwt动态库)
【 开发板】$:cp /usr/local/qwt-Qt4.8.5/qwt-6.0.1/lib/* //usr/local/qwt-Qt4.8.5/lib/
建立嵌入式版本Qwt库头文件与#qt-opensource-4.8.5(tiny6410ARM)版::间的关系
$:cp /usr/local/qwt-Qt4.8.5/qwt-6.0.1/include/* /usr/local/Qt4.8.5/include/Qwt/(本来没有Qwt这个文件夹,用这条命令将自动创 建一个Qwt文件夹,并实现对应拷贝)
#这一步,本人不是很理解为什么拷贝进来后,在建立QWT工程时还是需要另为连接到安装此版本的QWT库时的include目录,望知道的小伙伴们互动下,告诉我下
$:ldconfig(此时/usr/local/Qt4.8.5的lib关联新添加的qwt动态库)
到对应版本的qwt的安装目录下去打包安装好的inlcude和lib文件
$:cd /yourlocalplace/qwt.6.0.1/
$:tar jcvf qwt-6.0.1-include.tar.bz2 include
$:tar jcvf qwt-6.0.1-lib.tar.bz2 lib
#经本人测试,其实不用打包include里的文件,至需要打包lib文件就行
通过ftp等方式上传到对应版本的开发版中,并将其解压到开发板Qt环境中的lib include 文件中
测试
.新建一个qwt工程:并 在pro文件中添加一句:
#qt-opensource-4.7.0(tiny6410ARM)版:
# qt-opensource-4.8.5(tiny6410ARM)版::INCLUDEPATH +=/yourlocalplace/qwt-6.0.1/include
LIBS += -L /yourlocalplace/qwt-6.0.1/lib -lqwt
以本人本版本为例:
INCLUDEPATH +=/usr/local/qwt-Qt4.7.0/qwt-6.0.1/include
LIBS += -L //usr/local/qwt-Qt4.7.0/qwt-6.0.1/lib -lqwt
INCLUDEPATH +=/yourlocalplace/qwt-6.0.1/include
LIBS += -L /yourlocalplace/qwt-6.0.1/lib -lqwt
以本人本版本为例:
INCLUDEPATH +=/usr/local/qwt-Qt4.8.5/qwt-6.0.1/include
LIBS += -L //usr/local/qwt-Qt4.8.5/qwt-6.0.1/lib -lqwt
PS:经本人实测,其实直接在工程文件中关联QtCreator版本的qwt-6.0.1的include和lib文件,只不过用对应的Qt4.7.0 qmake 和 Qt4.8 qmake,编译,并下载到板子上,是能运行的,我猜测这个是由于我们在编译嵌入式版本的qwt时,选择了qmake 的版本的。
在 Qtcreator左边的设计师窗口拖拽一个QWT控件进主窗口,选择对应的版本并run qmake 后run。界面如图: