logo资料库

QT中pro文件使用的系统变量的说明.doc

第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
资料共7页,全文预览结束
1、TEMPLATE 模板设置 模板变量告诉qmake为这个应用程序生成哪种makefile。格式: TEMPLATE = modle_type 模块类型 modle_type 包括: app 建立一个应用程序的makefile,默认,若模板没有被指定,这个 将被使用 当使用这个模板时,下面这些qmake系统变量是被承认的。你应该 在你的.pro文件中使用它们来为你的应用程序指定特定信息。 subdirs 是一个特殊的模板,它可以创建一个能够进入特定目录并且为 一个项目文件生成makefile并且为它调用make的makefile 当设置成用于子文件夹编译时,其命令配置如下: TEMPLATE = subdirs; SUBDIRS = src1\src2; lib 建立一个成库的makefile vcapp 建立一个应用程序的Visual Studio项目文件。 vclib 建立一个库的Visual Studio项目文件。 2、SOURCES 指定源文件 告诉编译器,应用程序中的所有源文件(路径及其文件名)的列表。格式: SOURCES = *.cpp 1) 对于多源文件,可用空格分开,如: SOURCES = 1.cpp 2.cpp3.cpp
2) 或者每一个文件可以被列在一个分开的行里面,通过反斜线另起一行,就像 这样: SOURCES = hello.cpp \ main.cpp 3) 一个更冗长的方法是单独地列出每一个文件,就像这样: SOURCES += hello.cpp SOURCES += main.cpp 这种方法中使用“+=”比“=”更安全,因为它只是向已有的列表中添加新的文件, 而不是替换整个列表。 3、HEADERS 指定工程文件包含的头文件 应用程序中的所有头文件的列表。格式 HEADERS = hello.h HEADERS += hello.h HEADERS += inlcude/painter.h 或者 注:列出源文件的任何一个方法对头文件也都适用。 INCLUDEPATH 头文件包含的路径(应用程序所需的额外的包含路径的列表) 如:INCLUDEPATH += . DEPENDPATH 编译应用程序时所依赖的搜索路径(相关目录) 如:DEPENDPATH += ./INC; 4、CONFIG 变量 告诉qmake关于应用程序的配置信息 配置变量指定了编译器所要使用的选项和所需要被连接的库。配置变量中可以
添加或减少任何东西,但只有下面这些选项可以被qmake识别。 CONFIG用来告诉qmake关于应用程序的配置信息(编译选项)。 CONFIG += qt warn_on release CONFIG -= debug_and_release debug和release文件夹 // 除去debug_and_release模块,不会生成 在这里使用“+=”,是因为我们添加我们的配置选项到任何一个已经存在中。这 样做比使用“=”那样替换已经指定的所有选项是更安全的。 配置变量指定了编译器所要使用的选项和所需要被连接的库。配置变量中可以 添加任何东西,但只有下面这些选项可以被qmake识别。 1) 这些选项定义了所要连编的库/应用程序的类型: qt 部分告诉qmake这个应用程序是使用Qt来连编的。这也就是说 qmake在连接和为编译添加所需的包含路径的时候会考虑到Qt库的。 应用程序是一个Qt应用程序,并且Qt库将会被连接。 thread 应用程序是一个多线程应用程序。 x11 应用程序是一个X11应用程序或库。 windows 只用于“app”模板:应用程序是一个Windows下的窗口应用程序。 console 只用于“app”模板:应用程序是一个Windows下的控制台应用程 序。 dll 只用于“lib”模板:库是一个共享库(dll)。 staticlib 只用于“lib”模板:库是一个静态库。 plugin 只用于“lib”模板:库是一个插件,这将会使dll选项生效。 2) 这些选项控制着使用哪些编译器标志:
warn_on 告诉qmake要把编译器设置为输出警告信息。编译器会输出尽可 能多的警告信息。如果“warn_off”被指定,它将被忽略。 warn_off 编译器会输出尽可能少的警告信息。 release 告诉qmake应用程序必须被连编为一个发布的应用程序(把 project 以 release 模式连编)。 在开发过程中,程序员也可以使用debug来替换release。 若同时指定了debug,则忽略这个配置 debug 表示建立的目标代码是调试(debug模式)版本,如果没有则为 release 版本。 3) 预编译加速编译 QT也可以像VS那样使用预编译头文件来加速编译器的编译速度。首先在.pro文 件中加入: CONFIG += precompiled_header 然后定义需要预编译的头文件: PRECOMPILED_HEADER = pch.h // pch.h头文件即为自定义的预编译头 文件 例如,如果你的应用程序使用Qt库,并且你想把它连编为一个可调试的多线程 的应用程序,你的项目文件应该会有下面这行: CONFIG += qt thread debug 注意,你必须使用“+=”,不要使用“=”,否则qmake就不能正确使用连编Qt的设 置了,比如没法获得所编译的Qt库的类型了。
5、程序目标放置位置 TARGET 指定目标文件名(生成的应用程序名) 描述了目标文件的名称,也就是应用程序的名字(或者说可执行、动态/静态库文 件的名称) TARGET = filename 如果不设置该项目,目标名会被自动设置为跟pro项目文件一样的名称(如果需要 扩展名,会被自动加上) DESTDIR 指定目标文件放置的路径 生成的应用程序放置的目录 DESTDIR += ../bin 如: win32 { DESTDIR = $$(RUNHOME)/bin } 则相当于在vc6中的如下设置:
6、INTERFACES 添加界面文件(ui) INTERFACES = filename.ui FORMS 工程文件中包含的所有.ui文件(由Qt设计器生成)的列表。 如:FORMS += forms/painter.ui; LEXSOURCES 应用程序中的所有lex源文件的列表。 YACCSOURCES 应用程序中的所有yacc源文件的列表。 DEFINES VPATH 应用程序所需的额外的预处理程序定义的列表。 寻找补充文件的搜索路径。
7、只有Windows需要的系统变量 DEF_FILE 应用程序所要连接的.def文件。 RC_FILE RES_FILE 应用程序的资源文件。 应用程序所要连接的资源文件。 8、指定相关目录 QT默认情况下把所有的编译中间文件都生成到debug和release文件夹里。 可以设定如下变量,则编译时生成的临时文件就会按不同类型分类放到项目下 的tmp文件夹中了。 UI_DIR 指定uic命令将ui文件直接转换成ui_*.h文件存放目录。 如: UI_DIR += forms; RCC_DIR 指定rcc命令将.qrc文件转换成qrc_*.h文件存放目录。 如:RCC_DIR += ../tmp; MOC_DIR 指定moc命令将含Q_OBJECT的头文件转换成标准的.h文件的 存放目录。如:MOC_DIR += ../tmp; OBJECTS_DIR 目标文件存放目录。 如: OBJECTS += ../tmp; 9、CODECFORSRC:源文件的编码方式 如:CODECFORSRC = GBK; 10、RESOURCES:工程文件中包含的资源文件 如:RESOURCES += qrc/painter.qrc;
分享到:
收藏