码迷,mamicode.com
首页 > 其他好文 > 详细

Qt之Qwt学习之安装

时间:2015-02-08 06:41:58      阅读:368      评论:0      收藏:0      [点我收藏+]

标签:

 

QWT+qtcreator 编译、安装使用

目录:一、Qwt简介

   二、QWT编译

一、Qwt简介

  QWT:Qt Widgets for Technical Applications,是开源的2D绘图库。

  

二、QWT编译

  2.1 环境 WIN7+Qt5.1.0

  技术分享

  • 使用SVN客户端下载源码
  • designer目录:存放QWT插件的源码
  • examples目录:存放QWT的示例(源码、可执行程序)
  • src目录:存放QWT的源码
  • textengines目录:存放数学指标语言的文本驱动引擎代码等

  2.2 编译

  官网上有说明。

  方式一、双击qwt.pro(使用Qt Creator打开),进行编译(qmake->build),等待了很长时间都没编译完成,于是放弃这种方式。

  方 式二、使用qmake与mingw32-make install (msvc使用nmake)

   详细步骤:在WIN终端中:> G:

               > cd G:\SoloSten\work\qwt\qwt-6.1.2\qwt-6.1.2

               > qmake

                 > mingw32-make install  //将会把.dll .lib和.h等文件提取出来,默认C盘

  编译完成后将会在lib下生成qwt.dll(release调用)、qwtd.dll(d:debug调用)和lib,同时会生成qt creator使用的插件qwt_designer_plugin.dll、libqwt_designer_plugin.a(只能用于Designer,而不能用于qtcreator集成中的designer,原因请看2.3)。

  技术分享

  技术分享

 

  1.  将C:\Qwt-6.1.2\lib\qwtd.dll、qwt.dll拷贝到F:/software/Qt5_1/5.1.1/mingw48_32/bin下,将C:\Qwt-6.1.2\lib\qwtd.lib、qwt.lib拷贝F:/software/Qt5_1/5.1.1/mingw48_32/lib下(F:/software/Qt5_1/5.1.1/mingw48_32为QT安装目录)。

     

  2. C:\Qwt-6.1.2\plugins\qwt_designer_plugin.dll拷贝到F:/software/Qt5_1/5.1.1/mingw48_32\bin\plugins\designer目录下

  3. C:\Qwt-6.1.2\include目录下的所有.h和C:\features\qwt.prf、qwtconfig.pri、qwtfunctions.priw分别放入一个空文件夹Qwt和Qwt\features中,再将该Qwt拷贝到F:\software\Qt5_1\5.1.1\mingw48_32\include\目录下。
  4. 配制完后,结果图如下:技术分享
     技术分享技术分享技术分享

 

  2.3 Qt Designer能使用插件,但是Qt Creator里Designer无该插件

  原因:因为Qt官方编译的Qt Creator是用VC编译的,而你的插件是用MinGW编译,两者的dll并不能通用。

  解决方式一:mingw编译qt官网下载的qt creator的源码,保用编译完成qtcreator就可以解决dll只能用于Designer,而不能用于qtcreator集成中的designer问题。

  解决方式二:直接保用Qt Designer来设置窗口控件,不使用qtCreator 里Designer(程序也能显示自定插件,但是qtCreator 里Designer是显示不了的)。

 

  2.4 解决Qt Qwt编译成功之后运行的时候,程序却异常退出,提示信息:QWidget: Must construct a QApplication before a QPaintDevice

  原因:是因为debug编译模式使用了release库文件或者是release编译模式使用debug库文件;Debug/Release的Dll混到一起

 

  比如:qwtd.dll是debug时调用,qwt.dll是release时调用。(区别在于一个有d,一个无)

  解决:方式一、打开.pro,未修改:LIBS += -L"F:/software/Qt5_1/5.1.1/mingw48_32/lib" -lqwt

        修改后的:LIBS += -L"F:/software/Qt5_1/5.1.1/mingw48_32/lib" -lqwtd  #qwtd是debug,qwt是release

    方法二、打开.pro, 添加 CONFIG += release #即指定的LIBS与之相匹配

    

三、Qt Qwt案例

在pro中加入:

LIBS += -L"F:/software/Qt5_1/5.1.1/mingw48_32/lib" -lqwtd

INCLUDEPATH += F:/software/Qt5_1/5.1.1/mingw48_32/include/QWT

include (F:/software/Qt5_1/5.1.1/mingw48_32/include/Qwt/features/qwt.prf)

注意:这.ui是用Designer添加的控件,而不是qt creator中的Designer中添加。

技术分享

 

Qt之Qwt学习之安装

标签:

原文地址:http://www.cnblogs.com/minglicnblogs/p/4279624.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!