没有合适的资源?快使用搜索试试~ 我知道了~
qmake使用技巧.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 97 浏览量
2022-11-25
23:02:18
上传
评论
收藏 667KB PDF 举报
温馨提示
试读
20页
qmake使用技巧.pdfqmake使用技巧.pdf
资源推荐
资源详情
资源评论
2.安装 qmake
在 linux 平台上,安装完 qt 以及相关的 qt 工具包,qmake 就已经被安装好了.你唯一要注意
的就是 QTDIR 值的设定,这个必须设置到 Qt 被安装到的地方。如:/usr/lib/qt3/,以及 qmake 可
执行文件的路径加到 PATH 路径中.
3. 一个简单的例子
用 vi 写个 hello.c ,
#include <stdio.h>
int main(int argc, char** argv)
{
printf("Hello, world!");
return 0;
}
创建 qmake 需要的项目文件(hello.pro),
SOURCES = hello.cpp
CONFIG += qt warn_on release
Makefile 可以像这样由".pro"文件生成:
qmake -o Makefile hello.pro
现在你的目录下已经产生了一个 Makefile 文件,输入 "make" 指令就可以开始编译
hello.c 成执行文件,执行 ./hello 和 world 打声招呼吧!打开这个 Makefile 文件看看,是
不是很专业啊!
4.高级操作技巧
当然,在实际使用过程中,我们的工程不可能象这个程序这样简单的,它可能有多个目
录,多个头文件,多个源文件,需要链接器它不同的链接库等等情况。别急,让我和你慢慢
道来。这些都是非常容易用 qmake 来实现的。我们从一个更加复杂的项目文件为例和你详
细的讲诉 qmake 的高级技巧:
项目文件示例:
SOURCES += myqt.cpp
SOURCES += main.cpp
HEADERS += myqt.h
FORMS += xsimform.ui
TEMPLATE = lib
CONFIG += debug warn_on qt thread x11 plugin
TARGET = ../bin/panel_qt
INCLUDEPATH = ../../../../xsim ../../../../xsim/IMdkit
DEFINES = BDB_VERSION4 OS_LINUX
从这个文件可以知道,SOURCES 变量指向项目中的源文件,当项目中有多个源文件时,
我们需对项目中的每一个源文件都这样做,直到结束:
SOURCES += hello.cpp
SOURCES += main.cpp
当然,如果你喜欢使用像 Make 一样风格的语法,你也可以写成这样,一行写一个源文
件,并用反斜线结尾,然后再起新的一行:
SOURCES = hello.cpp main.cpp
HEADERS 变量指向项目中的头文件,多个头文件的时候,和多个源文件的解决方法一
致。
FORMS 变量指向项目中使用到的窗体文件(qtdesign 设计的.ui 文件),qmake 也注意了
Qt 的特殊需求,可以自动的包含 moc 和 uic 的连编规则。没有的话或者非 qt 程序可以不写。
TEMPLATE 变量告诉 qmake 为这个应用程序生成哪种 makefile。下面是可供使用的选
择:
app - 建立一个应用程序的 makefile。这是默认值,所以如果模板没有被指定,这个将
被使用。
lib - 建立一个链接库的 makefile。
vcapp - 建立一个应用程序的 Visual Studio 项目文件。
vclib - 建立一个库的 Visual Studio 项目文件。
subdirs - 这是一个特殊的模板,它可以创建一个能够进入特定目录并且为一个项目文件
生成 makefile 并且为它调用 make 的 mkefile。
CONFIG 变量变量指定了编译器所要使用的选项和所需要被连接的库。配置变量中可以
添加任何东西,但只有下面这些选项可以被 qmake 识别。
下面这些选项控制着使用哪些编译器标志:
release - 应用程序将以 release 模式连编。如果"debug"被指定,它将被忽略。
debug - 应用程序将以 debug 模式连编。
warn_on - 编译器会输出尽可能多的警告信息。如果"warn_off"被指定,它将被忽略。
warn_off - 编译器会输出尽可能少的警告信息。
下面这些选项定义了所要连编的库/应用程序的类型:
qt - 应用程序是一个 Qt 应用程序,并且 Qt 库将会被连接。
thread - 应用程序是一个多线程应用程序。
x11 - 应用程序是一个 X11 应用程序或库。
windows - 只用于"app"模板:应用程序是一个 Windows 下的窗口应用程序。
console - 只用于"app"模板:应用程序是一个 Windows 下的控制台应用程序。
dll - 只用于"lib"模板:库是一个共享库(dll)。
staticlib - 只用于"lib"模板:库是一个静态库。
plugin - 只用于"lib"模板:库是一个插件,这将会使 dll 选项生效。
TARGET 变量指定生成的二进制代码的路径和文件名,如果建立的是一个链接库的话,
它会在文件名前面自动加上"lib"和在最后自动加上".so".
我们在使用过程中可能会使用到另外的一些函数库,链接库等。函数库的头文件指定使
用 INCLUDEPATH变量,其它链接库的指定可以通过 LIBS 变量来指定,例 LIBS += -lmath
-L/usr/local/lib
DEFINES 变量的指定就如同 make 的-D 选项一样。
结束语
Autoconf 和 Automake 功能十分强大,但对于普通用户来说,太过复杂。qmake 方便、
简单、快捷,是一个轻量级的 makefile 生成工具,虽然它是 qt 工具包的一部分,但它也完
全可以用来进行其它程序 makefile 文件的生成,对于大多数人来说,它已经是非常的够用了。
你也可以从 qt 提供的许多现存的源程序中找到相关的.pro 项目文件,它们是学习 qmake 更
多技巧的最佳范例。
这篇简介只用到了 qmake 的一些皮毛罢了,希望这篇文件能帮助你对产生 Makefile
有个简单的依据。
qmake 的介绍
qmake 是 Trolltech 公司创建的用来为不同的平台和编译器书写 Makefile 的工具。
手写 Makefile 是比较困难并且容易出错的,尤其是需要给不同的平台和编译器组合写几个
Makefile。使用 qmake,开发者创建一个简单的 “项目”文件并且运行 qmake 生成适当的
Makefile。qmake 会注意所有的编译器和平台的依赖性,可以把开发者解放出来只关心他们
的代码。Trolltech 公司使用 qmake 作为 Qt 库和 Qt 所提供的工具的主要连编工具。
qmake 也注意了 Qt 的特殊需求,可以自动的包含 moc 和 uic 的连编规则。
安装 qmake
当 Qt 被连编的时候,默认情况下 qmake 也会被连编。
这一部分解释如何手工连编 qmake。如果你已经有了 qmake,可以跳过这里,请看 10 分
钟学会使用 qmake。
手动安装 qmake
在手工连编 Qt 之前,下面这些环境变量必须被设置:
*
QMAKESPEC
这个必须设置为你所使用的系统的平台和编译器的组合。
举例来说,加入你使用的是 Windows 和 Microsoft Visual Studio,你应该把环境变量设
置为 win32-msvc。如果你使用的是Solaris 和 g++,你应该把环境变量设置为solaris-g++。
当你在设置 QMAKESPEC 时,可以从下面的可能的环境变量列表中进行选择:
aix-64 hpux-cc irix-032 netbsd-g++ solaris-cc unixware7-g++ aix-g++ hpux-g++
linux-cxx openbsd-g++ solaris-g++ win32-borland aix-xlc hpux-n64 linux-g++ openunix-cc
sunos-g++ win32-g++ bsdi-g++ hpux-o64 linux-icc qnx-g++ tru64-cxx win32-msvc
dgux-g++ hurd-g++ linux-kcc reliant-64 tru64-g++ win32-watc freebsd-g++ irix-64
macx-pbuilder reliant-cds ultrix-g++ win32-visa hpux-acc irix-g++ macx-g++ sco-g++
unixware-g hpux-acc irix-n32 solaris-64 unixware7-cc
envvar 是下面之一时,环境变量应该被设置到 qws/envvar:
linux-arm-g++ linux-generic-g++ linux-mips-g++ linux-x86-g++ linux-freebsd-g++
linux-ipaq-g++ linux-solaris-g++ qnx-rtp-g++
*
QTDIR
这个必须设置到 Qt 被(或者将被)安装到的地方。比如,c:\qt 和/local/qt。
一旦环境变量被设置到 qmake 目录,$QTDIR/qmake,比如 C:\qt\qmake,现在根据你的
编译器运行 make 或者 nmake。
当编译完成时,qmake 已经可以使用了。
创建一个项目文件
qmake 使用储存在项目(.pro)文件中的信息来决定 Makefile 文件中该生成什么。
一个基本的项目文件包含关于应用程序的信息,比如,编译应用程序需要哪些文件,并且使
用哪些配置设置。
这里是一个简单的示例项目文件:
SOURCES = hello.cpp
HEADERS = hello.h
CONFIG += qt warn_on release
我们将会提供一行一行的简要解释,具体细节将会在手册的后面的部分解释。
SOURCES = hello.cpp
这一行指定了实现应用程序的源程序文件。在这个例子中,恰好只有一个文件,hello.cpp。
大部分应用程序需要多个文件,这种情况下可以把文件列在一行中,以空格分隔,就像这样:
SOURCES = hello.cpp main.cpp
另一种方式,每一个文件可以被列在一个分开的行里面,通过反斜线另起一行,就像这样:
SOURCES = hello.cpp \
main.cpp
一个更冗长的方法是单独地列出每一个文件,就像这样:
SOURCES += hello.cpp
SOURCES += main.cpp
这种方法中使用“+=”比“=”更安全,因为它只是向已有的列表中添加新的文件,而不是替换
整个列表。
HEADERS 这一行中通常用来指定为这个应用程序创建的头文件,举例来说:
剩余19页未读,继续阅读
资源评论
G11176593
- 粉丝: 6646
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功