最近搞设计,需要在上位机上绘制曲线,在网上找了找,发现python的matplotlib和Qt的qwt都不错,本着难度最小原则,选择了Qt下面的qwt,安装过程中遇到了编译错误:moc/xxx Error:126等问题,搜了很多帖子,终于解决了,在此记录下解决过程,方便后来者。。。

首先到SourceForge上下载Qwt的源码:https://sourceforge.net/projects/qwt/files/qwt/,这里下载了qwt-6.1.3。windows上安装需要下载zip格式的压缩包。解压之后,为了后续安装方便,我们把解压得到的qwt-6.1.3文件夹重命名为qwt,并将其拷贝到Qt的安装目录,我是将Qt4.8.4和Qt-Creator安装在了一个Qt总目录下,就将qwt拷贝到Qt目录下,如下:

然后进入qwt目录下,对下面这两个文件进行编辑:

找到qwtbuild.pri文件中的如下位置:

将第30行改为:

修改这里的原因在上面注释中已经说得很明白了,在windows下面,无法合并debug和release版本的库文件。保存之后修改第二个文件qwtconfig.pri,找到如下位置:

将其改为:

修改这里的原因是为了方便组织程序,将Qt相关的所有程序都安装到Qt总目录下,这个目录要注意,以后也不能修改,要配合工程文件一起的,要不然会很麻烦。然后在开始-所有程序里找到:

运行之后,切换到qwt目录下,执行:qmake qwt.pro,没有警告,没有错误,就执行make –j,加上-j是为了让cpu多核心参与编译加快编译速度,没有警告和错误,然后执行make install,就会将qwt相关的头文件、库文件等拷贝到我们在qwtconfig.pri里修改的目录,如下:

然后上面的qwt源码文件就可以删除了。。。

将Qwt-6.1.3/lib下面的dll文件拷贝到Qt_4.8.4\bin下,将.a文件拷贝到Qt_4.8.4\lib下,然后将Qwt-6.1.3\plugins\designer下的qwt_designer_plugin.dll拷贝到Qt_4.8.4\plugins\designer下,新建一个Qt gui项目,在pro文件中做出如下修改:

然后,只有用如下方式打开*.ui文件,才能看到qwt插件哦:

然后就可以拖拽空间,进行开发了

然后编译运行,就可以看到正确执行了:

这里说一下,为何需要用Qt Designer打开才能看到qwt插件,而用Qt Creator打开看不到,因为当前的qwt使用mingw进行编译的,而我们安装的Qt Creator是用MSVC编译的:

所以Qt Creator识别不了qwt插件,如果安装的是mingw编译的Qt Creator,或者使用MSVC编译qwt,就可以在Qt Creator里面进行过拽开发啦!总之qwt和Qt Creator的编译器必须一致才可正确识别。这个我抽空会试验一下,成功的话,会再写帖子记录。。。

Qt编译安装qwt错误moc/xxx Error:126的更多相关文章

  1. WIN7 下 Qt Creator 安装 QWT

    WIN7 下 Qt Creator 安装 QWT 环境:WIN7 +QT Creator2.6.2 1.下载QWT源代码 qwt-6.1-rc3.zip 2 编译QWT  open projects- ...

  2. PHP编译安装报错:configure: error: mcrypt.h not found. Please reinstall libmcrypt

    我是在CentOS6.5安装php5.5.28这个版本,PHP编译代码如下: ./configure --prefix=/usr/local/php --with-config-file-path=/ ...

  3. 芯灵思Sinlinx A64 Linux&qt编译安装

    开发平台 芯灵思Sinlinx A64 内存: 1GB 存储: 4GB 详细参数 https://m.tb.cn/h.3wMaSKm 开发板交流群 641395230 前提条件搭建好CentOS环境 ...

  4. Qt编译安装后中文无法显示问题

    闲的蛋疼,把Ubuntu删了,再装10.04的时候,QT编译后运行自己的程序已经不能显示中文了,只能显示英文,字体贼丑... 想了各种办法,都没解决.. 最后:终于搞定: apt-get instal ...

  5. 在RHEL5.2 64bit下编译安装log4cxx错误

    apache-log4cxx.0.10.0 依赖于apache-apr和apache-apr-utils两个包 先安装他们俩,然后编译log4cxx,发现make失败,错误如下 ronized.o . ...

  6. Centos 7.5源码编译安装zabbix4.0报fatal error: mysql.h: No such file or directory

    系统环境:CentOS 7.5是最小化安装的 编译信息 编译选项: root@Server01 zabbix-]# ./configure --prefix=/usr/share/applicatio ...

  7. CUDA Cudnn pytorch 安装及错误 RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED解决

    看我结论,大家试试看最后装pytorch看行不行,不行就去冲了PyTorch   /Doge ubuntu 20.04 下安装CUDA,参考这个博主写的,先看显卡支持的最高CUDA版本,之后找一个较新 ...

  8. 编译安装pgbouncer-checking for OpenSSL... configure: error: not found

    花了一上午时间将pgbouncer的参数通读了一遍,对他有个大致的了解:1.配置分为连接池和pgbouncer两个部分[database]\[pgbouncer ].2.一条记录对应创建一个连接池,连 ...

  9. Centos 编译安装bind错误

    [root@linux-node1 tmp]# tar xf bind-9.11.1-P1.tar.gz [root@linux-node1 tmp]# cd bind-9.11.1-P1 [root ...

随机推荐

  1. Query Mobile学习笔记

    1.获取jQuery mobile 文件,访问jQuerymobile网站下载 (貌似使用jquery mobile后,jquery会自动在网页中添加一些class类,第一次知道的我是被吓呆的!!) ...

  2. Java Gson 简要笔记

    Gson是Google开发的Java比较好用的 Json工具. 使用挺简单,假设有个类: class Runner { int attr; String name; public Runner(int ...

  3. Linux下安装Git

    Ubuntu12.04中默认没有安装Git.需要自行安装. 1. 安装Git 1.1 Ubuntu12.04下 可以使用apt-get方式安装,也可以下载源代码安装[1],我们这里使用apt-git安 ...

  4. 规范和封装jdbc程序代码

    JDBC 部分方法引用工具类 package it.cast.jdbc; import java.sql.Connection; import java.sql.DriverManager; impo ...

  5. 使用MyBatis对表执行CRUD操作

    一.使用MyBatis对表执行CRUD操作——基于XML的实现 1.定义sql映射xml文件 userMapper.xml文件的内容如下: <?xml version="1.0&quo ...

  6. ES6 will change the way you write JS code.

    https://hacks.mozilla.org/2015/04/es6-in-depth-an-introduction/ Counting to 6 The previous editions ...

  7. Online, Asynchronous Schema Change in F1

    F1: A Distributed SQL Database That Scales   http://disksing.com/understanding-f1-schema-change   ma ...

  8. 在Ubuntu上安装网易云音乐

    对于网易,我只服云音乐,业界良心,用过的人都知道.我最喜欢的就是歌曲的评论功能,还有朋友圈子.里面有很多好段子,还有很多的好故事,基本上,不是分手,就是回忆初恋,还有吐槽的.我认为音乐带给人的不仅是耳 ...

  9. 视图UIView的大小和位置属性详解

    UIView类中定义了三个属性,分别是frame.bounds与center属性: IKit中的坐标系X轴正方向为水平向右,Y轴正方向为竖直向下. frame属性指的是视图在其父视图坐标系中的位置与尺 ...

  10. 使用POWERDESIGNER设计数据库的20条技巧(转)

    1.PowerDesigner使用MySQL的auto_increment ◇问题描述: PD怎样能使主键id使用MySQL的auto_increment呢? ◇解决方法: 打开table prope ...