QWT编译以及交叉编译的问题

来源:互联网 发布:重庆网站外包优化 编辑:程序博客网 时间:2024/05/29 15:12

QWT编译以及交叉编译的问题

  1. #### 下载QWT源文件 ####
    下载地址:http://sourceforge.net/projects/qwt/files/qwt/
  2. #### 编译QWT源文件 ####
    • 将下载好的文件解压并且进入到解压目录中
    • 运行客户端进入到该目录中,然后执行下列命令
      qmake
      make
      make install
    • 编译好的QWT文件默认存放在/usr/local/qwt-6.1.3中
    • 注意事项1:上述编译好的qwt库文件只能在桌面平台使用,可以使用file命令查看库文件是哪个平台的使用版本
    • 注意事项2:在安装了交叉编译器和嵌入式QT平台的linux下,需要先知道qmake程序是桌面QT还是嵌入式QT的,还要知道当前默认编译器是桌面GCC编译器还嵌入式GCC交叉编译器。
    • 注意事项3:如果通过全路径指向了嵌入式qmake,但是后来make用的是桌面GCC编译器,则编译好的库依然不能再嵌入式平台使用。
  3. ####交叉编译QWT
    交叉编译QWT有两种方法,一种是使用如标题2中使用的命令一样,但是前提是需要将qmake指向嵌入QT的,而指定使用交叉编译器。第二种是:利用qtcreator来交叉编译qwt,前提是你已经在qtcreator上配置好了嵌入式平台,然后将目标平台设置为嵌入式平台。
    • 交叉编译QWT前需要精简QWT,因为有些特性在嵌入式平台无法使用。具体如下:打开刚解压缩的qwt-6.1.3源文件目录中的qwtconfig.pri文件:
      • 将第22行的路径修改为QWT_INSTALL_PREFIX = /usr/local/qwt-$$QWT_VERSION-Mini2440,交叉编译版本的qwt将会被安装在/usr/local/qwt-6.1.2-Mini2440目录下
      • 将102行的#QWT_CONFIG += QwtOpenGL注释掉,删除OpenGL支持,这是因为Mini2440官方给出的编译QtE-4.6.3的配置文件中未开启OpenGL,否则编译会出现错误: qwt_plot_glcanvas.h:15:17: fatal error: qgl.h: No such file or directorycompiling qwt_abstract_slider.cpp
      • 将121行的#QWT_CONFIG += QwtDesigner注释掉,不编译Designer插件,这是因为Designer插件只能在主机上使用,否则会出现编译错误:qwt_designer_plugin.h:23: Error: Undefined interface
      • 如果想在开发板上测试qwt源文件中提供的example,则将144行的QWT_CONFIG +=QwtExamples注释取消掉即可,这样在稍后make过程中会在example目录下自动生成名为bin的可在mini2440开发板上执行的文件目录
    • 利用qtcreator编译qwt的方法
      • 用qtcreator打开qwt-6.1.3目录下的.pro文件,然后设置好构建目录,点击构建即可,然后就可从指定的构建目录中找到编译好的库
      • 上述方法交叉编译好的目标中只有动态链接库,至于头文件,可以使用桌面上使用的qwt头文件。
  4. #### 编写QWT的qt程序注意事项####
    • 在什么平台运行将要包含对应平台的qwt库
    • 具体方法是,在qt工程的pro文件中加入下述内容

      INCLUDEPATH += /usr/local/qwt-6.1.3/include
      LIBS += -L"/usr/local/qwt-6.1.3/lib" -lqwt #桌面平台使用
      LIBS += -L"/usr/local/qwt-6.1.3-zynq/lib" -lqwt #q嵌入式平台使用
  5. #### 在嵌入式平台使用qwt ####
    需要将libqwt.so.6.1.3拷贝到嵌入式平台下的/usr/lib下,并且重命名为libqwt.so.6

http://blog.csdn.net/lihui126/article/details/45788957
http://blog.csdn.net/oldmtn/article/details/37814571

0 0
原创粉丝点击