Qt编译安装qwt错误moc/xxx Error:126
最近搞设计,需要在上位机上绘制曲线,在网上找了找,发现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的更多相关文章
- WIN7 下 Qt Creator 安装 QWT
WIN7 下 Qt Creator 安装 QWT 环境:WIN7 +QT Creator2.6.2 1.下载QWT源代码 qwt-6.1-rc3.zip 2 编译QWT open projects- ...
- 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=/ ...
- 芯灵思Sinlinx A64 Linux&qt编译安装
开发平台 芯灵思Sinlinx A64 内存: 1GB 存储: 4GB 详细参数 https://m.tb.cn/h.3wMaSKm 开发板交流群 641395230 前提条件搭建好CentOS环境 ...
- Qt编译安装后中文无法显示问题
闲的蛋疼,把Ubuntu删了,再装10.04的时候,QT编译后运行自己的程序已经不能显示中文了,只能显示英文,字体贼丑... 想了各种办法,都没解决.. 最后:终于搞定: apt-get instal ...
- 在RHEL5.2 64bit下编译安装log4cxx错误
apache-log4cxx.0.10.0 依赖于apache-apr和apache-apr-utils两个包 先安装他们俩,然后编译log4cxx,发现make失败,错误如下 ronized.o . ...
- 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 ...
- CUDA Cudnn pytorch 安装及错误 RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED解决
看我结论,大家试试看最后装pytorch看行不行,不行就去冲了PyTorch /Doge ubuntu 20.04 下安装CUDA,参考这个博主写的,先看显卡支持的最高CUDA版本,之后找一个较新 ...
- 编译安装pgbouncer-checking for OpenSSL... configure: error: not found
花了一上午时间将pgbouncer的参数通读了一遍,对他有个大致的了解:1.配置分为连接池和pgbouncer两个部分[database]\[pgbouncer ].2.一条记录对应创建一个连接池,连 ...
- 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 ...
随机推荐
- CF #375 (Div. 2) D. bfs
1.CF #375 (Div. 2) D. Lakes in Berland 2.总结:麻烦的bfs,但其实很水.. 3.题意:n*m的陆地与水泽,水泽在边界表示连通海洋.最后要剩k个湖,总要填掉多 ...
- MongoDB-C#驱动基本操作
#region IMongoQuery //Query.EQ("", val);//字段值=val //Query.NE("", val);//字段值!=val ...
- SQL Server 存储过程
Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø ...
- Android:Activity生命周期
Android是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称作返回栈(Back Stack). 栈是一种后进先出的数据结构,在默认情况下,每当我们启动了一个新 ...
- 百度地图API的IP定位城市和浏览器定位(转)
百度地图API提供了Geolocation 和 LocalCity两个服务类. 这俩API可以分别供用户在JavaScript中进行定位和城市确认. 1 本质上,Geolocation这个类是使用了支 ...
- javascript 杂记
博客 http://www.cnblogs.com/onepixel/ http://www.cnblogs.com/ahthw/p/4240220.html#javascript call.appl ...
- ExtJS笔记 Ext.data.Types
This is a static class containing the system-supplied data types which may be given to a Field. Type ...
- A Taxonomy of Parallel Processor Architectures
COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION
- Windows下使用WSRM限制MongoDB内存
有个项目用到了MongoDB,我们是在WINDOWS 2008 64位环境下部署的,为啥不部署到linux下面呢,我们没那么多服务器,只能将就一下了. 大家都知道Mongodb吃内存太厉害了,如果不重 ...
- LoadRunner函数示例:lr_paramarr_random()
lr_paramarr_random()函数的作用为:从一个参数数组中随机抽取一个值并以字符串形式返回.其使用方式及返回方式如下: char * lr_paramarr_random( const c ...