在我们编译别人发送的项目时,有时候会出现qmake编译失败的情况,那怎么办?
例如,项目文件中显示了当前使用和测试linux-g++的规范: message($$QMAKESPEC) linux-g++ { message(Linux) } 只要mkspecs目录中存在规范...捆绑的构建过程也受到QMAKE_BUNDLE_DATA变量内容的影响。 以下选项仅在Linux/Unix平台上有效: 选项 描述 largefile 包括对大文件的支持。...这仅受某些平台(目前基于Linux和Darwin的平台)的支持,可通过检查是否设置QMAKE_REL_RPATH_BASE来检测。...例如: UNAME = $$system(uname -s) contains( UNAME, [lL]inux ):message( This looks like Linux ($$UNAME) to...例如: if(linux-g++*|macx-g++*):CONFIG(debug, debug|release) { message("We are on Linux or Mac OS, and
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。
qt这个值,表明qmake支持了qt的程序,但是还需要调整一些你程序中使用的qt 的模块.这是使用QT变量,就能达到这个目的。...不过我的习惯是下面这样的,比较清晰还有,最好windows的路径不要有空格,中文也不要有,斜杠也推荐用/ 而不是windows的\ 因为跟分行符号\相同了 /可以在unix和windows用,但是\貌似到了unix或linux...一般先用project模式生成.pro文件,然后再将.pro文件qmake一次生成Makefile。 首先说一下qt编程的步骤,然后再仔细说一下qmake的使用。...$ clear song@ubuntu:~/lianxi/qt$ qmake -help Usage: qmake [mode] [options] [files] QMake...(用于创建.pro文件,将所有的文件编译成一个与平台无关的工程文件) 可见默认生成的文件名为 qt.pro 3、qmake (读取本身的Qt设置,生成与库一致的相应的Makefile)
4、声明Qt库 如果CONFIG变量包含qt,qmake对Qt应用程序的支持会开启,这会使微调应用程序的Qt模块变得可能。用于声明需要扩展模块的QT变量可以实现微调。...这些都是基于Qt的mkspecs目录中提供的平台规范。例如,工程文件中的下列代码会显示在用的当前规范和测试linux-g++规范。...message($$QMAKESPEC) linux-g++ { message(Linux) } 只要在mkspecs目录中存在一个规范,就可以测试任何其他平台编译器组合。...如: UNAME = $$system(uname -s) contains( UNAME, [lL]inux ):message( This looks like Linux ($$UNAME) to...属性查询这个qmake版本的Qt安装。
Qt-qmake install相关 简介 在之前的博文中,已经说过相关 autotools,qmake转cmake,cmake-cpack,checkinstall,linuxdeployqt ,本博文将...qt 安装配置做一个简单的讲解,搭配 linuxdeployqt 来说明,qmake 安装配置。...DEFINES += QT_DEPRECATED_WARNINGS DEFINES += LINUX_OS_VERSION==$$QT_ARCH DEFINES += QT_MESSAGELOGCONTEXT...message($$QT_ARCH) message($$QT_VERSION) contains(QT_ARCH, x86_64){ message("LINUX_OS_X86_64")...进一步猜想 多级子工程安装 qmake INSTALLS的多个安装路径 在Qt多个工程目录,可以搭配使用。
的当前版本 QMAKE_XSPEC:在目标构建期间解析并存储在 QMAKESPEC 变量中的目标 mkspec 的短名称 QT_HOST_BINS:主机可执行文件的位置 QT_HOST_DATA:qmake...:Qt 字符串的翻译信息位置 QT_SYSROOT:目标构建环境使用的 sysroot QT_VERSION:Qt 版本。....version 变量来查询 Qt 模块特定的版本号 二、QMAKESPEC qmake 需要一个平台和编译器描述文件,其中包含许多用于生成适当 Makefile 的默认值。...如果文件不存在,qmake 将退出并报错。 平台编译器组合的名称。在这种情况下,qmake 将在 Qt 编译时指定的数据路径的 mkspecs 子目录指定的目录中搜索。...QMAKE_EXT_UI:修改用于 Qt Designer UI 文件的扩展名(通常在 FORMS 中)。 QMAKE_EXT_PRL:修改放置在库依赖文件上的扩展名。
点击蓝字 关注我们 目录 ubantu16.04搭建Qt环境 下载opensource 安装qmake 安装g++以及依赖库 配置环境 编译原码 安装make 查看qmake是否安装 配置环境变量 qmake...编译c/c++代码 安装qtcreator Linux编译Qt代码 ubantu16.04搭建Qt环境 下载opensource 「下载 qt-everywhere-opensource-src-4.8.7...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代码 ?
/linux-arm-gnueabi-g++/中的qmake.conf文件 这个文件默认的内容是: # # qmake configuration for building with arm-linux-gnueabi-g...= 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...-P QMAKE_STRIP = arm-linux-gnueabi-strip load(qt_config) 修改成如下: 2.3 配置编译选项 查看编译选项,输入.
目录 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,直接在命令行中编译。.../x86_64-linux-gnu/qt4/bin #/usr/lib/x86_64-linux-gnu #/home/xyzx/Qt5.8.0/5.8/gcc_64/bin/qmake 不出意外的话,.../share/qtchooser/qt4-x86_64-linux-gnu.conf /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
]# gedit qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf qmake.conf 文件内容如下: # # qmake configuration.../opt/FriendlyARM/toolschain/4.5.1/bin/arm-none-linux-gnueabi-gcc QMAKE_CXX = /work/arm-linux-gcc.../opt/FriendlyARM/toolschain/4.5.1/bin/arm-none-linux-gnueabi-g++ QMAKE_LINK = /work/arm-linux-gcc.../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
/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相关的命令整理好了。...所以qmake就产生了。 14.qmake工具就是Qt公司制造出来,用来生成Qt 专用makefile文件,这种makefile文件就能自动智能调用moc和uic对源程序进行预处理和编译。...qmake 是为 Qt 量身打造的,使用起来非常方便,但是cmake功能比qmake强大。 一般的Qt工程你就直接使用qmake就可以了,cmake的强大功能一般人是用不到的。
linux-arm-gnueabi-g++ \ -optimized-qmake \ -pch \ -qt-sqlite \ -qt-libjpeg \ -qt-libpng...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.../common/g++-unix.conf) CROSS_COMPILE=arm-openwrt-linux # modifications to g++.conf QMAKE_CC...CROSS_COMPILE}-g++ QMAKE_LINK_SHLIB = $${CROSS_COMPILE}-g++ # modifications to linux.conf QMAKE_AR
前言 在linux环境下进行程序开发时,经常需要使用makefile管理编译代码,特别是一些大型工程,而makefile工具语法晦涩深入研究较为困难,好在有很多工具可以自动生成makefile,qmake...qmake特点 为不同的平台的开发项目创建makefile。 可以供给任何一个软件项目使用,而不用管它是不是用Qt写的,尽管它包含了为支持Qt开发所拥有的额外的特征。...DEFINES += IOS_64 #64位 DEFINES += IOS_LINUX #Linux系统 QMAKE_CXXFLAGS += -fPIC QMAKE_LFLAGS_DEBUG +=...#相对路径是相对so库路径 运行时动态链接 qmake实例 SOURCES = hello.cpp main.cpp HEADERS = hello.h CONFIG += qt warn_on release...可以使用qmake -h查看具体的说明 qmake生成makefile 调试经验 在linux平台下可以用ldd命令查看so库所依赖的其他so库,readelf -d libxxx.so | grep
Qt支持的平台 嵌入式Qt,即QtE,属于Qt Embedded Linux 分支平台。...qmake包工具在光盘的位置:3、Linux\2、工具软件\Linux 工具软件\qt4.7.3.tar.bz2 #进入到opt目录 cd /opt #解压qmake套件,Qt-4.7.3.tar.bz2...Linux安装Qt4版本。...官方的下载链接里,只提供了Linux版本的Qt5,而如果想安装Linux版本的Qt4,需要自己使用源码进行编译。...我们只需要设置一下嵌入式环境下的Qt4构建套件 qmake路径:/opt/qt4.7.3/bin/qmake #交叉编译gcc路径 /opt/gcc-4.4.4-glibc-2.11.1-multilib
-4.8.6/mkspecs/linux-g++ -I....-4.8.6/mkspecs/common/unix.conf \ /usr/local/Trolltech/Qt-4.8.6/mkspecs/common/linux.conf \ /usr/...-4.8.6/mkspecs/linux-g++/qmake.conf /usr/local/Trolltech/Qt-4.8.6/mkspecs/common/unix.conf \ /usr/local.../Trolltech/Qt-4.8.6/mkspecs/common/linux.conf \ /usr/local/Trolltech/Qt-4.8.6/mkspecs/common/gcc-base.conf.../Qt-4.8.6/mkspecs/common/linux.conf: /usr/local/Trolltech/Qt-4.8.6/mkspecs/common/gcc-base.conf: /usr
Depending on your Linux distribution you may need to install a package which is usually called "mysql-devel...-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数据库。
我们将前端软件界面和后端算法进行分离解耦,也就是如下结构: 1、烛照工程管理结构 前端软件界面我们使用QT/C++编写,工程管理就直接使用QT自带的qmake,也就是pro文件管理。...至于工程管理,前端我们使用QT自带的qmake,其实我们还可以直接使用VS工程管理,或者使用CMake管理,但使用qmake对于所有级别的学者都可以快速上手,如果使用cmake肯定会涉及一些高阶内容,但我们本教程不打算对...我们也不适用VS工程直接管理,因为VS的sln文件是个二进制文件,我们无法对其进行版本管理,而qmake是文本文件,是可以方便的进行版本管理的。...2、创建前端工程 虽然是手把手教程,但创建QT工程应该都会吧,如果第一次使用QT,可以先参照本教程附录内容将QT安装好。...3、前端QMake内容解析 QMake是QT自带的工程管理语法,其文件为pro工程文件,我们看烛照的pro工程文件如下: #添加依赖的QT,主要包含core gui widgets QT +
这个安装包是桌面Qt程序开发套件,包括qmake、QtCreator等工具。...3.2 添加嵌入式Qt构建套件 搭建一个最基本的Qt环境,需要两个东西:qmake和编译器。...在安装桌面版本 Qt 时,已经默认添加了桌面环境的Qt构建套件: 桌面版本qmake: Qt5.8.0/5.8/gcc_64/bin/qmake 桌面版本编译器: ubuntu 自带的GCC ?...添加嵌入式版本qmake #嵌入式Qt版本的qmake路径 路径:/opt/st/stm32mp1/2.6-snapshot/sysroots/x86_64-openstlinux_eglfs_sdk-linux.../usr/bin/qmake 添加qmake: ?
领取专属 10元无门槛券
手把手带您无忧上云