Qmake: Q_OBJECT】的更多相关文章

QMake 为Qt的预编译,例:当在代码中使用 Q_OBJECT 宏,需要执行QMake操作,否则编译通不过.…
错误提示:在添加的QThread子类头文件添加Q_OBJECT时,编译程序,出现"undefined reference to 'vtable for xxThread'"错误提示.原因:不详解决方案:清理项目,执行qmake,然后运行,错误提示消失.…
[TOC] 本文由乌合之众 lym瞎编,欢迎转载 blog.cnblogs.net/oloroso 本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso *** 还是先说一下当前的系统环境:Ubuntu 14.04 + Qt5.4 如果没有安装过QT,可以安装下面几个qt软件 sudo apt-get install qt5-default qt5-doc-html qt5-qmake qt5-doc qt5-image-formats-plugins 这只是对qm…
本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso***还是先说一下当前的系统环境:Ubuntu 14.04 + Qt5.4如果没有安装过QT,可以安装下面几个qt软件 sudo apt-get install qt5-default qt5-doc-html qt5-qmake qt5-doc qt5-image-formats-plugins 这只是对qmake使用的一个说明而已.如果一直使用Qt Create来构建工程,很容易让人以为Qt项目必须使用Qt C…
为了代码可以同时适应VC++和MingW编译器,我改动了我的代码,变成: #ifdef _MSC_VER #pragma comment(lib, "crypt32.lib") // Link OK,Linux 也要附带这两个库,格式是 -lcrypt32 -lws2_32 #pragma comment(lib, "ws2_32.lib") // Link OK //#pragma comment(lib, "dnsapi.lib") // 没…
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://devbean.blog.51cto.com/448512/355100 前面我们说过,Qt 不是使用的“标准的” C++ 语言,而是对其进行了一定程度的“扩展”.这里我们从Qt新增加的关键字就可以看出来:signals.slots 或者 emit.所以有人会觉得 Qt 的程序编译速度慢,这主要是因为在 Qt 将源代码交给标准 C++ 编译器,如 gcc 之前,需要事先将这些扩展…
文章来源:http://blog.csdn.net/dbzhang800/article/details/6317006 本文是qmake的一个使用练习,是半年前所学的 分析与学习Qt Solution对qmake的使用 的续篇. 采用一个非常简单的Qt程序作为例子,通过pro文件的合理编写,使得我们的程序在使用动态库的时候,几乎可以忽略掉动态库的存在.它包括3部分: 生成动态库 使用动态库 生成与使用的自动化 测试环境: ubuntu 11.04 + Qt 4.7.2 windows vist…
shadow build shadow build 是什么东西?就是将源码路径和构建路径分开(也就是生成的makefile文件和其他产物都不放到源码路径),以此来保证源码路径的清洁. 这不是qmake独创的东西,cmake中早就使用这个东西了   cmake qmake 备注 in-source cmake . qmake project.pro 在源码路径下执行 out-of-source(shadow-build) mkdir build cd buildcmake ../project m…
在进行Qt编程的时候,有时候会将类的定义和实现都写在源文件中,如果同时在该类中使用信号/槽,那么可能就会遇到 undefined reference to vtable for "xxx::xxx"的链接错误,这是因为qmake默认不会处理cpp文件中的 Q_OBJECT导致链 接的时候缺少相应的 moc_xxx.h文件,此时,可以先用moc处理该cpp文件:moc xxx.cpp,然后讲生成的moc_xxx.h文件 包含到cpp文件中,问题就可以解决…
cmake vs qmake qmake 是为 Qt 量身打造的,使用起来非常方便 cmake 使用上不如qmake简单直接,但复杂换来的是强大的功能 内置的 out-of source 构建.(目前QtCreator为qmake也默认启用了该功能.参考:浅谈 qmake 之 shadow build) 为各种平台和场景提供条件编译 可处理多个可执行文件情况,和很好配合 QtTest 工作 如何选择? Using CMake to Build Qt Projects 一文中说: 对简单的Qt工程…
Qt 是 C++ 的库,Qt 在 ansi C++ 的基础上进行了一点扩展. 但国内似乎比较浮躁,学Qt的很多连基本的C++如何编译似乎都不太清楚.本文舍弃IDE或qmake.cmake等工具的束缚,尝试通过几个例子,一步一步从标准 C++ 的编译过渡到 Qt 的编译. 本文涉及的都是最基本的东西,或许可以说,只要你用C++ Qt,不管是通过哪种工具(qmake.cmake.boost.build.qtcreator.vs2008.Eclipse....),本文的内容都是需要理解的(尽管真正写程…
2017-06-22 周四 大雨 北京 院里 新建作图类,继承自QCUstomPlot类 因为需要同时作8张图,都要单坐标缩放的功能,因此想干脆新建一个类,继承自QCUstomPlot,把需要的功能都加上.类名取为QCUstomPlotPlus,最终成功版类代码如下: //声明.explicit是为了禁止隐式转换. class QCustomPlotPlus : public QCustomPlot { Q_OBJECT //重要! public: explicit QCustomPlotPlu…
编译问题 添加Q_OBJECT后需要qmake 多重继承 添加了Q_ENUM之类的宏,就需要Q_OBJECT 添加了Q_OBJECT,就需要类继承自QObject 如果有多重继承关系,QObject一定要是第一个…
现象:试图在一个已有项目里增加qt的代码,因此手动加入相关framework(未通过qmake生成工程),编译连接都通过,但是运行时崩溃,提示错误: dyld: Library not loaded @rpath  ..... QtCore 总之就是QtCore找不到. 通过研究比较,发现原因在于qt是动态链接的,因此运行时会加载动态链接库,此处需要指定qt动态库的路径.怎样指定呢?在Build Setting中: Other link flags,加上两行: -Wl,-rpath,你的qt路径…
网上在介绍编译Qt的教程中,大多数都是这样提到编译的: 1, 运行 VS2012 x86 Native Tools Command Prompt 批处理 2, cd <install qt5.0>5.0.0\Src\qtbase\ 3, 使用下面的配置方式      configure -opensource -platform win32-msvc2012 -debug-and-release -opengl desktop 4, nmake 而后 我们想编译 Qt Creator 或 Qt…
houjinxin 为了方便统一构建,准备使用qmake构建所有的vc工程,无论是否使用了Qt库,可是在网上找了几天,有几个选项根本就不知道怎么在pro里面配置,才能生成预期的vcproj文件... 今天终于解决了,yes! 首先列一下qmake构建的时候需要依据的几个配置项: QMAKE_CXXFLAGS (debug和release都生效) QMAKE_CXXFLAGS_DEBUG   (这里面的配置项会在debug模式下使用) QMAKE_CXXFLAGS_RELEASE (这里面的配置项…
在linux下写程序,免不了要写Makefile文件,用automake,总感觉比较麻烦,linux人喜欢做麻烦的事,以显得风格迥异. 其实用qmake生成Makefile文件相当简单. 1 装好qmake工具 2 在源码工程目录下,运行qmake -project 这样会生成一个*.pro文件. 3 运行qmake -makefile *.pro,生成Makefile文件. 此Makefile文件,包含很多的qt的信息,如果工程中没有用到qt相关的库,那么可以删去. 例子: 一个工程目录下:…
在qt编写的过程中添加Q_OBJECT后发现老是报错的问题 编译后老是报undefined reference to vtable for "xxx"的错误,后来发现在xxx.pro文件中添加 OBJECTS_DIR = tmp MOC_DIR = tmp这两句就可以,具体分析可以参考下面博客:http://blog.163.com/zhengjiu_520/blog/static/355983062009111943858125/…
所有QObject的派生类在官方文档中都推荐在头文件中放置宏Q_OBJECT,那么该宏到底为我们做了哪些工作?在qobjectdef.h中有下面的代码: #define Q_OBJECT \ public: \ Q_OBJECT_CHECK \ static const QMetaObject staticMetaObject; \ Q_OBJECT_GETSTATICMETAOBJECT \ virtual const QMetaObject *metaObject() const; \ vi…
利用空闲时间把qmke的文档翻译出来,翻译水平有限,有些地方翻译的不好,请谅解, 如果您能指出来,我会很感激并在第一时候做出修改. 翻译qmake文档(一) qmake指南和概述 翻译qmake文档(二) Getting Started 翻译qmake文档(三) Creating Project Files 翻译qmake文档(四) Building Common Project Types…
翻译qmake文档 目录 本章原英文文档:http://qt-project.org/doc/qt-5/qmake-common-projects.html 构建常见的项目类型        本章描述如何设置基于Qt的应用程序.库和插件的三种常见项目类型的qmake项目项目文件.虽然所有的项目类型使用大量相同的变量,但是它们中的每一个都使用项目特定的变量来自定义输出文件.      这里不会描述特定于平台的变量.更多详细修改请查看  Qt for Windows - Deployment 和 Q…
翻译qmake文档 目录   原英文文档:http://qt-project.org/doc/qt-5/qmake-project-files.html   创建项目文件 项目文件包含qmake构建你的应用程序,库文件,或插件需要的所有信息.通常,你会在项目文件里使用一系列的声明指定资源,但是对简单程序构造的支持,允许你为不同的平台或环境描述不同的构建过程. 项目文件元素      qmake使用的项目文件格式可以支持简单和复杂的构建系统使用.简的项目文件使用简单的声明样式,定义标准的变量,用于…
翻译qmake文档 目录 原英文文档: http://qt-project.org/doc/qt-5/qmake-tutorial.html         本教程教讲授qmake基础知识.这个手册里的其它专题包含更详细的使用qmke信息. 从简单开始      假设你已经完成了应用程序的基本实现,并且你创建了下边的文件: hello.cpp hello.h main.cpp qt分布的目录 examples/qmake/tutorial 中,你可以找到这些文件.你只需要知道的另一件事是这个程序…
翻译qmake文档 目录 英文文档连接: http://qt-project.org/doc/qt-5/qmake-manual.html http://qt-project.org/doc/qt-5/qmake-overview.html 由于qmake manual和overview  两章的内容都不多就把它们放在一起翻译了出来 qmake 指南  qmake 是帮助简化跨平台项目开发的构建过程的工具,qmake能自动生成Makefile,以至于只需要几行代码就可以创建相应的Makefile…
今天通过在archlinux中安装qt5发现了关于qmake这个命令的一些事情. 1. /bin/qmake 是 /bin/qtchooser 的符号链接,/bin/qtchooser 由一个叫 qtchooser 的软件包提供. 2. /bin/qmake-qt4 是 /usr/lib/qt4/bin/qmake 的符号链接,由 qt4 这个软件包提供. 3. /bin/qmake-qt5 是 /usr/lib/qt/bin/qmake 的符号链接,由 qt5-base 这个软件包提供. 4.…
转自:http://www.kuqin.com/qtdocument/qmake-manual-2.html 安装qmake 当Qt被连编的时候,默认情况下qmake也会被连编. 这一部分解释如何手工连编qmake.如果你已经有了qmake,可以跳过这里,请看10分钟学会使用qmake. 手动安装qmake 在手工连编Qt之前,下面这些环境变量必须被设置: QMAKESPEC 这个必须设置为你所使用的系统的平台和编译器的组合. 举例来说,加入你使用的是Windows和Microsoft Visu…
关于qmake,好一段时间令我一头雾水,不知道用来干嘛的,只知道怎么用,而且也只懂那么一两个命令,详细看过资料以后整理如下: 1.首先,感性的认识是,qmake可以利用源文件(包括头文件h,实现文件cpp,qt的ui文件等等)生成各种不同类型的工程,工程需要的Makefile文件,可执行的与不可执行的,这取决于所用的模板(包括app.lib.subdirs.vcapp.vclib). 2.创建pro文件,添加各种源文件,还可以设定平台相关的不同源文件,设置各种规则,利用qmake命令生成工程.后…
Qmake自动生成Makefile 手动写Makefile是一件痛苦的事情,稍不小心就会出错,不过qmake可以让你脱离苦海 qmake可以根据你提供的.pro文件,生成Makefile不过他可比Makefile简单多啦,一分钟你就能学会 简单的.pro文件 SOURCES += hello.cpp HEADERS += hello.h CONFIG = cnosole warn_on debugDESTDIR = ./bin 只配置这四项就可以生成Makefile SOURCES 写出源文件的…
尽管每次和cmake对比起来,我们总是说 qmake 简单.功能少.但是qmake仍然是一个非常复杂的东西,我想大多人应该和我一样吧: 不是太清楚CONFIG等变量到底如何起作用的 用过的qmake内置变量和函数不超过20个 看Qt Creator源码或者QtSolution等库中自己使用的 *.pro 文件就想看天书一样 本文只能抓住一条线,简单介绍一下 *.pro.*.pri.*.prf.*.prl等四种文件:干嘛用的,如何用的 *.pro qmake 的工程(project)文件,这个大家…
Qt 安装 PC 端  下载安装即可 https://mirrors.ustc.edu.cn/qtproject/official_releases/qt 树莓派:Qt开发套件和opencv安装sudo apt-get install qt4-dev-tools libqt4-dev 不用qt core 的话,其实只要按照 qt4-qmake就行了(只做 pro 文件生成makefile文件,我们目的也仅仅如此) sudo apt-get install qt4-qmake sudo apt-g…