1.首先,感性的认识是,qmake可以利用源文件(包括头文件h,实现文件cpp,qt的ui文件等等)生成各种不同类型的工程,工程需要的Makefile文件,可执行的与不可执行的,这取决于所用的模板(包括...qt这个值,表明qmake支持了qt的程序,但是还需要调整一些你程序中使用的qt 的模块.这是使用QT变量,就能达到这个目的。.../ 而不是windows的\ 因为跟分行符号\相同了 /可以在unix和windows用,但是\貌似到了unix或linux就不行了,所以用/ 是通用的 INCLUDEPATH =...首先说一下qt编程的步骤,然后再仔细说一下qmake的使用。...(用于创建.pro文件,将所有的文件编译成一个与平台无关的工程文件) 可见默认生成的文件名为 qt.pro 3、qmake (读取本身的Qt设置,生成与库一致的相应的Makefile)
在我们编译别人发送的项目时,有时候会出现qmake编译失败的情况,那怎么办?
CONFIG变量包含qt值,则启用qmake对Qt应用程序的支持。...例如,项目文件中显示了当前使用和测试linux-g++的规范: message($$QMAKESPEC) linux-g++ { message(Linux) } 只要mkspecs目录中存在规范...捆绑的构建过程也受到QMAKE_BUNDLE_DATA变量内容的影响。 以下选项仅在Linux/Unix平台上有效: 选项 描述 largefile 包括对大文件的支持。...这仅受某些平台(目前基于Linux和Darwin的平台)的支持,可通过检查是否设置QMAKE_REL_RPATH_BASE来检测。...例如: if(linux-g++*|macx-g++*):CONFIG(debug, debug|release) { message("We are on Linux or Mac OS, and
qmake是一个用来简化在不同平台间开发工程的构建过程的工具。qmake会自动生成MakeFile文件,可以用于任何软件项目中,无论是否由Qt编写。...qmake会注意所有的编译器和平台的依赖性,开发者只需关注自己的代码。qmake作为Qt库和Qt所提供的工具的主要连编工具,可以自动的包含moc和uic的连编规则。...如: TARGET = helloworld 最后就是配置CONFIG变量,对于Qt应用程序来说,给CONFIG赋值qt,QMake会链接相关的库,并确保moc和uic相关的连编规则生成到MakeFile...创建工程 本文将讲述如何设置基于Qt的三种通用工程类型的qmake工程文件。...如果使用“=”会使用新的值替换原来的值,例如,DEFINES=QT_DLL,所有其它的定义都会被删除。 2、QMake创建库 lib模板告诉qmake生成构建一个库的MakeFile。
4、声明Qt库 如果CONFIG变量包含qt,qmake对Qt应用程序的支持会开启,这会使微调应用程序的Qt模块变得可能。用于声明需要扩展模块的QT变量可以实现微调。...例如,工程文件中的下列代码会显示在用的当前规范和测试linux-g++规范。...message($$QMAKESPEC) linux-g++ { message(Linux) } 只要在mkspecs目录中存在一个规范,就可以测试任何其他平台编译器组合。...注意,由于qmake读取工程文件的方式,在工程文件内设置QMAKESPEC变量会没有效果。 QT QT变量中存储的值用于控制工程中使用的Qt模块。...属性查询这个qmake版本的Qt安装。
Qt-qmake install相关 简介 在之前的博文中,已经说过相关 autotools,qmake转cmake,cmake-cpack,checkinstall,linuxdeployqt ,本博文将...qt 安装配置做一个简单的讲解,搭配 linuxdeployqt 来说明,qmake 安装配置。...由于这个原因,qmake有一个安装集的概念,这个对象包含关于安装项目的一部分的说明。.../deb_output -y make uninstall 上述安装脚本中,需要搭配之前讲过的两篇文档; linuxdeployqt-linux下Qt打包工具 checkinstall-简易打包工具 可形成一个成熟的...进一步猜想 多级子工程安装 qmake INSTALLS的多个安装路径 在Qt多个工程目录,可以搭配使用。
-4.8.7/是我的路径,你需要改成上一步记下的路径 source /etc/profile #更新完之后颜色变灰了 cd ~ #回到用户目录 qmake -v #查看版本 QMake version...qmake 解决办法: cd /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/ sudo gedit default.conf default.config...里面的内容如下 /usr/lib/x86_64-linux-gnu/qt4/bin /usr/lib/x86_64-linux-gnu/qt4 更换成pwd的那个路径 /usr/local/Trolltech...ps这个就简单多了 Linux编译Qt代码 ?...演示 首先准备一个qt项目,将qt代码中的.h、.cpp、.ui文件移动到Linux下 ➜ work ls main.cpp mainwindow.ui Translate_CN.ts
++/中的qmake.conf文件 这个文件默认的内容是: # # qmake configuration for building with arm-linux-gnueabi-g++ # MAKEFILE_GENERATOR...= arm-linux-gnueabi-g++ QMAKE_LINK = arm-linux-gnueabi-g++ QMAKE_LINK_SHLIB...= arm-linux-gnueabi-g++ # modifications to linux.conf QMAKE_AR = arm-linux-gnueabi-ar...cqs QMAKE_OBJCOPY = arm-linux-gnueabi-objcopy QMAKE_NM = arm-linux-gnueabi-nm...其它一些参数的含义: -opensource:构建Qt的开源版本 -release:使用release版本的Qt -xplatform linux-arm-gnueabi-g++:指定编译器 -skip
目录 1、概述 2、Qt简介 3、Qt版本 3.1 查看安装的Qt版本 3.2 查看当前项目使用的Qt版本 3.3 查看当前项目使用的QtCreator版本 3.4 Linux命令行下查看和使用不同版本的...细心的朋友已经发现了,每一个Qt版本后面,对应的是一个qmake.exe(Linux下没有后缀,就是qmake)。 没错!决定你所使用的Qt版本的就是qmake工具的版本!...3.4 Linux命令行下查看和使用不同版本的Qt 如果在Linux命令行下使用,例如编译一些简单程序或第三方库,可以不需要启动QtCreator,直接在命令行中编译。...例如,我的电脑上,该文件指向的是/usr/share/qtchooser/qt4-x86_64-linux-gnu.conf。 等等……我还在用Qt4?.../x86_64-linux-gnu/qt4/bin #/usr/lib/x86_64-linux-gnu #/home/xyzx/Qt5.8.0/5.8/gcc_64/bin/qmake 不出意外的话,
通过 qtchooser,可以方便地在不同版本的 qmake 或其他 Qt 工具之间切换。...路径配置: 配置和切换不同版本的 qmake、uic 等工具的路径。 开发环境的灵活切换: 对于开发者来说,可以针对不同的项目需求选择特定的 Qt 版本。...qt4-loongarch64-linux-gnu qt4 qt5-loongarch64-linux-gnu qt5 其中: 4 和 5 表示已配置的 Qt 4 和 Qt 5。...临时切换 可以通过环境变量 QT_SELECT 指定使用的 Qt 版本: alex@alex-loongson-MiniPC:~$ QT_SELECT=5 qmake --version QMake version...=4 qmake --version qmake: could not exec '/usr/lib/loongarch64-linux-gnu/qt4/bin/qmake': No such file
]# gedit qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf qmake.conf 文件内容如下: # # qmake configuration.../opt/FriendlyARM/toolschain/4.5.1/bin/arm-none-linux-gnueabi-g++ # modifications to linux.conf QMAKE_AR...QMAKE_NM = /work/arm-linux-gcc/opt/FriendlyARM/toolschain/4.5.1/bin/arm-none-linux-gnueabi-nm...bin目录下存放了qmake命令。 1.2.9 添加环境变量 为了方便使用qmake命令,可以将bin目录加入到系统的环境变量PATH中。...1.2.10 查看qmake版本 [root@xiaolong /]# qmake -v QMake version 3.0 Using Qt version 5.6.0 in /work/qt5.6
/qt-everywhere-src-5.12.1/qtbase/mkspecs/linux-aarch64-gnu-g++/qmake.conf 默认配置文件: QMAKE_CC...= arm-linux-gnueabi-gcc QMAKE_CXX = arm-linux-gnueabi-g++ QMAKE_LINK = arm-linux-gnueabi-g...++ QMAKE_LINK_SHLIB = arm-linux-gnueabi-g++ QMAKE_AR = arm-linux-gnueabi-ar...cqs QMAKE_OBJCOPY = arm-linux-gnueabi-objcopy QMAKE_NM = arm-linux-gnueabi-nm...编译OK,可以给Qt再添加一个编译器。或者对Qt的pro文件直接使用qmake进行编译。 四、Qt交叉编译环境搭建 直接整不行,需要设置环境变量。 source .
5. cmake是抽象层次更高的项目管理工具,cmake命令执行的CMakeLists.txt文件 6. qmake是Qt专用的项目管理工具,对应的工程文件是*.pro,在Linux下面它也会生成Makefile...Makefile的抽象层次最低,cmake和qmake在Linux等环境下最后还是会生成一个Makefile。...如果GUI用了Qt,也可以用qmake+*.pro来管理工程,这也是跨平台的。当然,cmake中也有针对Qt的一些规则,并代替qmake帮你将qt相关的命令整理好了。...上个简图,其中cl表示visual studio的编译器,gcc表示linux下的编译器 ?...qmake 是为 Qt 量身打造的,使用起来非常方便,但是cmake功能比qmake强大。 一般的Qt工程你就直接使用qmake就可以了,cmake的强大功能一般人是用不到的。
linux-arm-gnueabi-g++ \ -optimized-qmake \ -pch \ -qt-sqlite \ -qt-libjpeg \ -qt-libpng...如果需要编译复杂的QT可以自己测试。...6.将工具链改为自己的 执行: nano /root/tina-v853-docker/platform/thirdparty/gui/qt/qt-5.12.9/qtbase/mkspecs/linux-arm-gnueabi-g...++/qmake.conf # # qmake configuration for building with arm-linux-gnueabi-g++ # MAKEFILE_GENERATOR...arm-qt/bin/qmake 执行: make 此时会提示报错:修改.pro结尾的文件,末尾增加一行代码。
将 qt-creator-opensource-linux-x86_64-4.0.2.run 拷贝到ubuntu下 执行: chmod +x qt-creator-opensource-linux-x86.../local/Qt-4.7.2# qmake -v qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file...or directory 报错:No such file or directory,原因是qmake的路径不对,系统默认的qmake是个链接文件,链接到一个名为qtchooser的文件。...修改下配置文件,把里面的路径替换为刚刚安装的QT路径: vim /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf 删除文件中原有的配置...,把我们刚刚安装的QT路径添加进去: 最后执行qmake -v 至此,QT已经安装完成,最后,打开QT Creator写一个简单的程序测试下。
qmake 生成 Qt 应用一般会经历如下三个步骤 qmake -project qmake make 那 qmake 是干什么用的呢?...来编译成目标文件和最终的可执行文件 qmake -project qmake -project 的结果是生成了一个 *.pro 文件 在这个例子中就是 hello.pro 文件 我们可以来看看其中的内容...# Input SOURCES += main.cpp [emacs@h102 hello]$ 从中可知,这个文件是在将所有有源代码包含进来 qmake qmake 不加参数就是代表的 qmake...-4.8.6/mkspecs/linux-g++ -I....-4.8.6/mkspecs/linux-g++/qmake.conf /usr/local/Trolltech/Qt-4.8.6/mkspecs/common/unix.conf \ /usr/local
例如,我在Windows写了一个串口助手,这套代码不用修改,放在Linux环境下的Qt开发环境,重新编译,就可以生成可以在Linux环境下运行的串口助手,当然,Qt支持的环境有很多。...3.1 主机搭建嵌入式Qt环境 搭建一个最基本的Qt环境,需要两个东西:qmake和编译器。编译器用的是交叉编译器,我们在第一节的教程中,已经介绍了,并且已经把交叉编译器的路径添加到了环境变量。...qmake包工具在光盘的位置:3、Linux\2、工具软件\Linux 工具软件\qt4.7.3.tar.bz2 #进入到opt目录 cd /opt #解压qmake套件,Qt-4.7.3.tar.bz2...官方的下载链接里,只提供了Linux版本的Qt5,而如果想安装Linux版本的Qt4,需要自己使用源码进行编译。...我们只需要设置一下嵌入式环境下的Qt4构建套件 qmake路径:/opt/qt4.7.3/bin/qmake #交叉编译gcc路径 /opt/gcc-4.4.4-glibc-2.11.1-multilib
前言 在linux环境下进行程序开发时,经常需要使用makefile管理编译代码,特别是一些大型工程,而makefile工具语法晦涩深入研究较为困难,好在有很多工具可以自动生成makefile,qmake...qmake特点 为不同的平台的开发项目创建makefile。 可以供给任何一个软件项目使用,而不用管它是不是用Qt写的,尽管它包含了为支持Qt开发所拥有的额外的特征。...DEFINES += IOS_64 #64位 DEFINES += IOS_LINUX #Linux系统 QMAKE_CXXFLAGS += -fPIC QMAKE_LFLAGS_DEBUG +=...可以使用qmake -h查看具体的说明 qmake生成makefile 调试经验 在linux平台下可以用ldd命令查看so库所依赖的其他so库,readelf -d libxxx.so | grep...rpath查看xxx.so配置的依赖库的链接路径 qt如果勾选编译的shadow路径,那么生成的系列文件将不按照pro文件生成,而是生成在shadow路径 发布者:全栈程序员栈长,转载请注明出处:https
我们将前端软件界面和后端算法进行分离解耦,也就是如下结构: 1、烛照工程管理结构 前端软件界面我们使用QT/C++编写,工程管理就直接使用QT自带的qmake,也就是pro文件管理。...至于工程管理,前端我们使用QT自带的qmake,其实我们还可以直接使用VS工程管理,或者使用CMake管理,但使用qmake对于所有级别的学者都可以快速上手,如果使用cmake肯定会涉及一些高阶内容,但我们本教程不打算对...我们也不适用VS工程直接管理,因为VS的sln文件是个二进制文件,我们无法对其进行版本管理,而qmake是文本文件,是可以方便的进行版本管理的。...选择创建一个新的桌面应用工程: 填写项目名称ZhuZhao和项目路径: 选择qmake作为构建系统: 修改主界面类的名称,注意我们的类都采用了驼峰命名,即MainWindow,而非mainwindow全小写命名...3、前端QMake内容解析 QMake是QT自带的工程管理语法,其文件为pro工程文件,我们看烛照的pro工程文件如下: #添加依赖的QT,主要包含core gui widgets QT +
libmysqld-dev 3.参照qt creater的帮助,搜sql可以找到database driver字样 How to Build the QMYSQL Plugin on Unix and...-4.8.3/mkspecs/linux-g++/ qmake.conf 我就觉得很奇怪,因为我已经设置了环境变量,并且测试过可以编译成功,这时发现 qmake读取的不是mkspecs/linux-g+...+/ qmake.conf(qt库安装路径的qmake.conf),而是源码包的配置文件,于是在 ~/.profile添加一句 export QMAKESPEC=$QTDIR/mkspecs/linux-g...目录下却没找到这个动态库,直接find,发现居然存在于 /usr/lib/i386-linux-gnu/qt4/plugins/sqldrivers/libqsqlmysql.so 接下去的就不用我多说了吧...做个demo测试一下,建立控制台程序,记得在pro文件中 QT +=那里加上sql,否则qmake是不会去找sql的相关部分的。先在mysql建立一个study数据库。
领取专属 10元无门槛券
手把手带您无忧上云