Qwt移植

来源:互联网 发布:2016年淘宝注册用户 编辑:程序博客网 时间:2024/06/05 10:34


开发板环境:

     天嵌开发板 TQ210 Linux+qt系统  

     交叉编译器 :4.4.6  

     Qwt版本:qwt-6.1

PC环境:

    ubuntu12.04 64位


1、让PC 上的qtcreator有qwt的控件,所以需要编译一个x86版本的qwt。

a)、进入qwt源码目录,使用x86版本的qt来编译qwt,注意用qmake -v命令来查看qt的版本,确保是x86的qt。

b)、qmake

          make

          make install

c)、默认生成的库的路径为/usr/local/qwt-6.1.1-svn/

d)、将编译生成的/usr/local/qwt-6.1.1-svn/plugins/designer/libqwt_designer_plugin.so库文件拷贝到qt-x86的安装路径下的plugins/designer目录下。

e)、另外,将qwt生成的/usr/local/qwt-6.1.1-svn/lib/下的库文件,拷贝到qt-x86的安装目录下的lib目录中。

f)、重新打开qtcreator的ui设置界面designer,可以看到控件新添加了Qwt Widgets这一栏。

h)、编译带qwt的程序时,需要在工程文件中添加qwt的头文件目录及相关的库,具体实现为在*.pro文件中添加类似如下代码(其中路径按读者实际情况而定):

  INCLUDEPATH += /usr/local/qwt-6.1.1-svn/include  LIBS += -L"/usr/local/qwt-6.1.1-svn/lib" -lqwt

2、编译arm版本的qwt。

a)、进入源码目录,编辑qwtconfig.pri文件,找到如下语句,将其屏蔽(加#号):

    QWT_CONFIG  += QwtDesigner

b)、若出现如下错误:

    qwt_symbol.cpp:20:26: fatal error: qsvgrenderer.h: No such file or directory compilation terminated.

则是arm-qt编译的时候没有添加svg的支持,这时要在qwtconfig.pri文件中屏蔽掉如下两句:

    #QWT_CONFIG     += QwtSvg    #QWT_CONFIG     += QwtPlayground
c)、若出现如下错误:

    qwt_plot_glcanvas.h:15:17: fatal error: qgl.h: No such file or directory compilation terminated.
则是arm-qt没有opengl的支持,需屏蔽qwtconfig.pri中的

    #QWT_CONFIG     += QwtOpenGL
d)、make&make install 开始编译
    (注意install的路径,默认为/usr/local/qwt-6.1.1-svn/,可在qwtconfig.pri中的    QWT_INSTALL_PREFIX修改。)
e)、编译测试程序,编译方法与x86编译方法类似,不同的是qmake的选择,包含的头文件路径及库路径的不同。
f)、编译qwt源码中examples文件夹中的例程(注意,如遇到找不到qgl.h的错误,则是arm-qt没编译opengl的支持,需在示例代码中将opengl部分去除)。
g)、编译qwt源码中的实例程序barchart(路径:源码目录中的examples/barchart)
  进入barchart,用qtcreator打开该工程,编辑barchart.pro如下

  #include( $${PWD}/../examples.pri )    (ps:这里屏蔽了第一句)    TARGET   = barchart  INCLUDEPATH += /opt/qwt-6.1_arm/__install/include  (ps:添加头文件途径)  SOURCES += \      barchart.cpp \      main.cpp    HEADERS += \      barchart.h  LIBS += -L"/opt/qwt-6.1_arm/__install/lib" -lqwt    (ps:添加库)
完成后,保存,使用arm-qt中的qmake执行qmake命令,生成Makefile文件,然后再make生成可执行程序,将生成的可执行程序拷贝到开发板的linux文件系统,并将qwt的arm版本的库拷贝到文件系统上的/opt/PDA/lib目录下,然后执行./barchart -qws。

qwt源码包



0 0