- 不想太深入地去看qmake,可是,左等,右等,总不见Qt新的构建系统有什么新消息。还是整理一下qmake吧,由于没什么主题,还不知道本文最终会乱到什么程度。
注:你可能会对下面的内容感兴趣。
变量
$$varName $${varName}
|
qmake工程文件内定义变量的值
|
$$(varName)
|
qmake运行时,环境变量的值
|
$(varName)
|
makefile被处理时,环境变量的值
|
$$[varName]
|
Qt配置选项的值
|
${varName}
|
你可能见过这个用法,但本文不讨论这个东西,以后用到时会提及
|
这4中用法区别何在?没有例子我还真说不明白...
$$varName
例子:
projectname = dbzhang
FULL1 = $$projectname/800
FULL2 = $${projectname}800
!build_pass:message($$FULL2)
运行qmake时,输出结果是
Project MESSAGE: dbzhang/800 dbzhang800
- 何时加大括号?当变量和后面的字符连接到一块的时候。
- build_pass 干嘛用的?自己试试看吧,如果没有它,同样的消息在windows下会被输出3次(因为会生成3个makefile文件,每个一次)。
$$(varName)
环境变量,就是大家通常说得环境变量。例子:
message($$(PATH))
运行qmake时,结果:
Project MESSAGE: /usr/bin:/home/debao/qt-labs/qt5/qtbase/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
$(varName)
makefile被处理时,环境变量的值?如何理解??
看例子:
INCLUDEPATH += $(MYINCLUDEPATH)
执行qmake
$ export MYINCLUDEPATH="/home/dbzhang800/include"
$ qmake test.pro
生成的makefile:
...
INCPATH = -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I$(MYINCLUDEPATH) -I.
...
为了对比,可以将单$符号,改成$$再试试看看,运行命令,结果:
...
INCPATH = -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I/home/dbzhang800/include -I.
...
$$[varName]
Qt配置选项的值?何解??
debao@ubuntu:~/ttt/qmake-t1$ qmake -query
QT_INSTALL_PREFIX:/usr
QT_INSTALL_DATA:/usr/share/qt4
QT_INSTALL_DOCS:/usr/share/qt4/doc
QT_INSTALL_HEADERS:/usr/include/qt4
QT_INSTALL_LIBS:/usr/lib
QT_INSTALL_BINS:/usr/bin
...
- 有什么用呢?比如,我们编译一个动态库,想将dll放置到Qt的bin目录下(供其它程序使用):
win32:{
DLLDESTDIR = $$[QT_INSTALL_BINS]
QMAKE_DISTCLEAN += $$[QT_INSTALL_BINS]\\dbzhang800.dll
}
- 除了这些还有其他值么?恩,你可以自己设置一些值,比如
$ qmake -set dbzhang 800
然后就可以在pro文件内用 $$[dbzhang] 了
注:在Qt5下,有qmake-unsetdbzhang可以取消设置,在Qt4下没有 unset!
注:设置值是通过QSettings保存的。你应该知道保存在何处了,呵呵
QSettings(QSettings::UserScope, "Trolltech", "QMake");
晕死,4个这东西竟然写了这么长。只好本文标题中加个(一),慢慢写二三四了。
参考
分享到:
相关推荐
qmake使用手册
Qt5.14.2交叉编译配套qmake.conf文件
qmake使用指南
QMake指南(高级技巧),PDF格式。
使用qmake,开发者创建一个简单的“项目”文件并且运行qmake生成适当的Makefile。qmake会注意所有的编译器和平台的依赖性,可以把开发者解放出来只关心他们的代码。Trolltech公司使用qmake作为Qt库和Qt所提供的工具...
QT4学习资源,qmake-manual,英文版
再在终端输入:zhuquan@zhuquan-HP-Z230-Tower-Workstation:~$ qmake -v显示结果为:QMake version
qmake用户手册,感兴趣的朋友,可以下载看看,不需要资源分
这个是单独的qmake.exe工具,如果不想安装qt的相关的包仅仅想使用QT creator。
qmake 手册 (初级部分) from: cuteqt.org
在这篇文档中,将以C/C++的源码作为我们基础,所以必然涉及一些关于C/C++的编译的知识,相关于这方面的内容,还请各位查看相关的编译器的文档。这里所默认的编译器是UNIX下的GCC和CC。
qmake用户手册.pdf qmake用户手册.pdf qmake用户手册.pdf qmake用户手册.pdf
编译需要安装好qt和vs环境,可以直接生成需要的库,动态应用,有需要xmpp通信协议开发的童鞋快来下载吧!
qt4资源 和一些qmake .....和一些港湾网络的一个教学材料。。。哈哈
qmake作为QT编译工具,也可以连接第三方库,主要介绍如何使用qmake连接第三方库(如:SDL库)
qmake 使用技巧, Qt使用中遇到的几个问题解决方法。
linux/unix 使用详解介绍,对初学者和Linux程序员都有用
自己从QT5.9.1的源代码里面移植的qmake工程,将源代码移植到vs2017项目,支持代码修改,代码调试;修改了qmake在windows下不支持中文路径的问题。
交叉编译QT4.8.7源码生成qmake工具.pdf
安装某些软件是总是缺少一些库,这是我搜索的资源希望对你有用 qt4-qmake_4.4.3-1+lenny1_i386.deb