Qmake 编译调试

合集下载

qmake 参数

qmake 参数

qmake 参数
qmake是Qt开发工具中的一个重要组成部分。

它是一种能够自动生成Makefile的工具,并且能够根据平台和编译器的差异自动调整编译选项,从而实现跨平台编译。

在使用qmake的过程中,我们可以通过一些参数来指定编译选项和生成规则,以便更好地满足我们的需求。

以下是一些常用的qmake参数:
1. CONFIG:指定编译选项,例如debug、release、static、shared 等。

2. SOURCES:指定源文件,可以是单个文件或者多个文件。

3. HEADERS:指定头文件,可以是单个文件或者多个文件。

4. LIBS:指定链接的库文件,可以是单个文件或者多个文件。

5. INCLUDEPATH:指定头文件搜索路径,可以是单个目录或者多个目录。

6. LIBSPATH:指定库文件搜索路径,可以是单个目录或者多个目录。

7. TARGET:指定生成的可执行文件或者库文件名。

8. TEMPLATE:指定生成规则,可以是app、lib、subdirs等。

9. DESTDIR:指定输出路径,生成的可执行文件或者库文件会放在该目录下。

10. QMAKE_CXXFLAGS:指定编译器选项,例如-Wall、-O2等。

以上是一些常见的qmake参数,我们可以根据需求灵活地组合使用,以便生成符合我们要求的Makefile。

qt4的配置与qmake、cmake

qt4的配置与qmake、cmake

目录1.写这篇文档的目的 (1)2.什么是框架? (1)3.关于Qt (1)4.本文档说明的范围 (2)5.Qt的下载官网 (2)5.1 Qt4的32位二进制文件的下载 (2)6.Qt4编程的简单介绍 (4)6.1 设置环境变量 (4)6.2编程、生成工程文件并编译运行 (5)6.2.1编写“著名的”hello程序 (5)6.2.2生成工程文件并编译 (7)6.3编译运行程序 (9)6.3.1 Debug和Release的区别是什么? (11)7.qmake (11)7.1 qmake命令为我们做了什么? (11)7.1.1认识开源框架的文件架构 (12)7.1.2 qmake命令生成的VC++工程文件 (13)7.2 项目文件(.pro) (21)7.2.1 pri文件和prf文件 (22)8. cmake (23)8.1关于CMakeList.txt (30)9. Qt Creator和Visual Studio Add-in for Qt4的使用(选看) (30)9.1 Qt Creator (30)9.2 Visual Studio Add-in for Qt4(VS2010的Qt4插件) (36)10. Qt Jambi(选看) (38)1.写这篇文档的目的之所以写这篇文档,是因为我们做项目或研究IT技术的时候,会用到别人的开源框架(当然也可以自己原创一个框架,但是由于现在国内对于知识产权的氛围并不好,或者高端技术只是集中在少数人手中,所以搞这个的人不多),而别人的开源框架可能会用到Qt,或者qmake、cmake。

这时我们就会有中途被卡住的感觉,因为出现了一个新的不懂的工具,顿时觉得困难重重。

如果要看一本Qt的书的话又觉得篇幅太大,因为有时我们只是想着先把这个开源框架安装(编译)了再算,完成第一步先,以后再看书还不迟,这样的话只要对Qt有一个大概的了解即可,就不用再慢慢把Qt的书看完了,这样既打乱了计划,又耗费了时间。

qmake静态编译参数

qmake静态编译参数

qmake静态编译参数
1. CONFIG,使用`CONFIG += static`来告诉qmake生成静态链接的可执行文件。

2. QT,使用`QT += core gui`来包含Qt核心和GUI模块,根据你的项目需要添加其他模块。

3. DEFINES,使用`DEFINES += YOUR_DEFINE`来添加你需要的宏定义。

4. LIBS,使用`LIBS += -L/path/to/your/libs -lYourLibrary`来指定链接静态库的路径和库名。

5. INCLUDEPATH,使用`INCLUDEPATH +=
/path/to/your/includes`来指定头文件的搜索路径。

6. QMAKE_LFLAGS,使用`QMAKE_LFLAGS += -static`来告诉编译器生成静态链接的可执行文件。

7. QMAKE_CXXFLAGS,使用`QMAKE_CXXFLAGS += -static`来告
诉编译器生成静态链接的可执行文件。

8. QMAKE_CFLAGS,使用`QMAKE_CFLAGS += -static`来告诉编译器生成静态链接的可执行文件。

以上参数可以根据你的具体项目需求进行调整和扩展,确保你的项目能够成功进行静态编译。

另外,需要注意的是,静态编译可能会增加可执行文件的大小,并且需要确保你有权利进行静态链接的库文件。

希望这些信息能够帮助到你。

qt creator 编译参数

qt creator 编译参数

qt creator 编译参数
Qt Creator是一个集成开发环境(IDE),用于开发基于Qt框架的应用程序。

编译参数是指在使用Qt Creator进行项目编译时,可以设置的一些参数,以便对编译过程进行定制或优化。

首先,编译参数可以包括编译器选项,比如优化级别、调试信息、目标平台等。

在Qt Creator中,你可以通过项目文件(例如.pro文件)来设置这些编译参数。

比如,你可以在.pro文件中使用QMAKE_CXXFLAGS变量来设置C++编译器的参数,比如优化级别和调试信息等。

类似地,你可以使用QMAKE_CFLAGS来设置C编译器的参数。

另外,编译参数还可以包括链接器选项,比如库路径、链接的库等。

同样地,你可以在项目文件中使用QMAKE_LFLAGS变量来设置链接器的参数,比如库路径和需要链接的库等。

除了项目文件中的设置,Qt Creator还提供了图形化界面来设置编译参数。

在项目的构建设置中,你可以找到编译器和链接器的设置选项,可以方便地进行设置和调整。

此外,Qt Creator还支持使用CMake作为项目的构建系统,因
此你也可以通过CMakeLists.txt文件来设置编译参数。

总的来说,Qt Creator提供了多种灵活的方式来设置编译参数,以满足不同项目的需求。

通过项目文件、图形化界面或CMakeLists.txt文件,你可以定制和优化项目的编译过程,以获得
更好的性能和效果。

qmake编译选项的控制CONFIG(debug,debugrelease)

qmake编译选项的控制CONFIG(debug,debugrelease)

qmake编译选项的控制CONFIG(debug,debugrelease)在 Qt 编程中,多数⼈⽤的都是 qmake,并编写相应pro⽂件。

实际中经常需要对 debug 与 release 两种编译模式设置不同的选项,⽐⽅说链接不同库遇到该问题,简单看看qmake的manual,不少⼈都会写出类似下⾯的内容:debug {LIBS += -L../lib1 -lhellod}release {LIBS += -L../lib2 -lhello}很不幸,这么做通常不能正常⼯作。

如果打开看⽣成的makefile⽂件,会发现⽆论是debug还是release,上⾯的两个语句都会同时起作⽤。

也就是说,上⾯相当于LIBS += -L../lib1 -lhellod -L../lib2 -lhello原因这是很违反直觉的,因为CONFIG可以同时定义 debug 和 release,但只有⼀个处于active(当两个互斥的值出现时,最后设置的处于active状态)⽐如:CONFIG = debugCONFIG += release...这种情况下,release处于active状态,但,debug 和 release 都能通过上⾯的测试。

如何解决CONFIG(debug, debug|release) {LIBS += -L../lib1 -lhellod} else {LIBS += -L../lib2 -lhello}或CONFIG(debug, debug|release):LIBS += -L../lib1 -lhellodCONFIG(release, debug|release):LIBS += -L../lib2 -lhello那么,CONFIG(debug, debug|release) 这种语法是什么含义呢?两个参数,前者是要判断的active的选项,后者是互斥的选项的⼀个集合。

qmake 乱乱乱谈

qmake 乱乱乱谈

qmake 乱乱乱谈∙不想太深入地去看qmake,可是,左等,右等,总不见Qt新的构建系统有什么新消息。

还是整理一下qmake吧,由于没什么主题,还不知道本文最终会乱到什么程度。

注:你可能会对下面的内容感兴趣。

∙浅谈qmake 之pro、pri、prf、prl文件∙浅谈qmake 之shadow build∙qmake 之CONFIG(debug, debug|release)∙qmake 之CONFIG 与QT 乱谈这4中用法区别何在?没有例子我还真说不明白...$$varName例子:∙test.pro运行qmake时,输出结果是∙何时加大括号?当变量和后面的字符连接到一块的时候。

∙build_pass干嘛用的?自己试试看吧,如果没有它,同样的消息在windows下会被输出3次(因为会生成3个makefile文件,每个一次)。

$$(varName)环境变量,就是大家通常说得环境变量。

例子:∙test.pro运行qmake时,结果:makefile被处理时,环境变量的值?如何理解??看例子:∙test.pro执行qmake生成的makefile:为了对比,可以将单$符号,改成$$再试试看看,运行命令,结果:Qt配置选项的值?何解??∙配置选项值有哪些?∙有什么用呢?比如,我们编译一个动态库,想将dll放置到Qt的bin目录下(供其它程序使用):∙除了这些还有其他值么?恩,你可以自己设置一些值,比如然后就可以在pro文件内用$$[dbzhang] 了注:在Qt5下,有qmake -unset dbzhang可以取消设置,在Qt4下没有unset!注:设置值是通过QSettings保存的。

你应该知道保存在何处了,呵呵晕死,4个这东西竟然写了这么长。

只好本文标题中加个(一),慢慢写二三四了。

参考∙/wiki/Qt_Modules_Maturity_Level∙/2009/10/12/to-make-or-not-to-make-qmake-and-beyo nd/∙/2009/10/14/to-make-or-not-to-make-qmake-and-beyo nd-redux/暂定主题:qmake之命令行参数及qmake启动时加载了什么东西,或许可以借此学习一下qmake是处理命令行参数的方法命令行参数运行qmake -h 可以得到qmake大部分命令行参数及其说明。

使用VSCode编译调试QT程序

使用VSCode编译调试QT程序

使⽤VSCode编译调试QT程序预备知识1. bat⽂件,或者其他的脚本语法。

2. qmake基本语法,qmake shadow build是啥。

3. vscode 的task,lanch的配置。

前提1. 各个程序正确安装,即使⽤QtCreator可以正常编译调试。

2. 使⽤QtCreator⽣成⼯程。

这⾥演⽰的是使⽤MSVC + CDB,因此VS和windows调试⼯具要装好。

当然也是可以使⽤GCC + GDB的。

脚本我这⾥使⽤bat⽂件。

bat⽂件如下:debug版本--build_debug.cmd@echo offtitle qmake and nmake build promptset VCINSTALLDIR=D:\Microsoft Visual Studio 14.0\VCset QTDIR=D:\Qt\Qt5.9.1\5.9.1\msvc2015_64set PATH=%VCINSTALLDIR%\bin;%QTDIR%\bin;D:\7-Zip;%PATH%::shadow buildcd ..set file = tips-build-debug-msvc2015_64if NOT exist %file% ( mkdir tips-build-debug-msvc2015_64cd tips-build-debug-msvc2015_64call "%VCINSTALLDIR%\vcvarsall.bat" amd64qmake ../tips/tips.pro -spec win32-msvc "CONFIG+=debug" "CONFIG+=qml_debug"nmakecd debug::windeployqt tips.exe::tips.exe注意点:1. namke 也可以换成QT默认的jom。

2. windeployqt 这个是QT⾃带的部署⼯具,可以搜素exe的所有依赖dll。

Qt5.9.1qmake中文手册

Qt5.9.1qmake中文手册

Qt5.9.1qmake中⽂⼿册Qt5.9.1 qmake中⽂⼿册来源:/qm843230255/article/details/77584969qmake ⼿册qmake⼯具有助于简化跨平台项⽬的开发.它⾃动⽣成Makefiles,只需要很少的信息就可以创建Makefiles。

⽆论是Qt项⽬或者是其他软件项⽬,都可以使⽤qmake。

qmake通过项⽬⽂件(.pro)⾥提供的信息⾃动⽣成Makefiles.项⽬⽂件(.pro)由开发者创建,通常项⽬⽂件(.pro)都很简单,⼤型复杂的项⽬也可以通过项⽬⽂件(.pro)创建。

qmake包含的附加功能⽀持Qt跨平台开发,qmake可以为和⾃动⽣成编译规则。

qmake可以在⽆需修改项⽬⽂件(.pro)的情况下⾃动⽣成Microsoft Visual studio项⽬。

⽬录⼤纲预览qmake⼯具提供了⼀个管理应⽤程序,库和其他组件的⾯向项⽬的系统。

可以使你控制项⽬⾥的所有源⽂件,并简明描述了构建过程中每⼀步的信息。

qmake扩展了每个项⽬中在编译和连接中运⾏必要命令的Makefile⽂件中的信息。

描述项⽬Qt项⽬通过项⽬⽂件(.pro)⽂件内容来描述这个项⽬。

qmake利⽤项⽬⽂件(.pro)中的信息⽣成Makefiles,Makefiles包含了编译项⽬所需的所有命令。

项⽬⽂件(.pro)通常包含源⽂件和头⽂件的列表,通⽤的配置信息和特定应⽤程序细节, 例如外部库链接列表,或者外部头⽂件包含⽬录列表等。

项⽬⽂件(.pro)可以包含许多不同类型的元素,包括注释,变量声明,内置函数和⼀些简单的控制结构。

⼀些最简单的项⽬中, 只需声明⽤于构建基本的配置选项的源⽂件和头⽂件。

更多关于如何创建⼀个简单的项⽬⽂件,请参考。

你可以为更复杂的项⽬创建复杂的项⽬⽂件(.pro)。

预览项⽬⽂件,参见。

关于项⽬⽂件(.pro)中使⽤变量和函数的详细信息,请看.你可以使⽤⼀个应⽤程序或者库的项⽬模板,通过指定专门的配置来调整构建过程。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Qmake 工具编译调试
2015年4月9日星期四18:38:06
1、确定qmaek 路径
[root@roger ~]# which qmake
/usr/lib/qt-3.3/bin/qmake
[root@roger ~]# which qmake-3520a
/usr/local/qt-4.5.3/bin/qmake-3520a
[root@roger ~]# which qmake-9260
/usr/local/arm/qte/bin/qmake-9260
[root@roger ~]#
本机共存三个版本的qmake,根据后缀名进行区分。

如果显示的路径不是所需要的已安装qt 版本,说明未将新版本的bin路径添加进入$PATH,使用export PATH="/usr/local/qt-4.5.3/bin:$PATH" 导入即可。

2、查看 qmake 的配置文件【重中之重】
[root@roger ~]# echo $QMAKESPEC
/usr/local/arm/qte/mkspecs/qws/linux-arm-g++
[root@roger ~]#
(若显示为空,使用
export QMAKESPEC=/usr/local/qt-4.5.3/mkspecs/qws/linux-arm-g++ 自定义设置即可;亦可直接编辑系统变量文件#vim /etc/profile)
由此可知,默认配置是qmake-9260 的arm板的编译版本;如需要编译其他配置的编译选项,可如下:
qmake -spec /usr/local/arm/qte/mkspecs/qws/linux-arm-g++ -o Makefile -spec 即指定编译环境,其后为配置文件所在的目录;
/usr/local/arm/qte/mkspecs/qws/linux-arm-g++/qmake.conf 主要内容如下:
由配置文件可知,其主要指定了编译工具、编译选项、库文件路径,用户可自定义所有参数。

所有的配置文件均在$QTDIR/ mkspecs 目录及$QTDIR/ mkspecs/qws/下,可根据需要选择相应的配置文件。

qmake-3520a -spec /usr/local/qt-4.5.3/mkspecs/qws/linux-arm-g++ -o Makefile。

相关文档
最新文档