行为在
qmake
can be customized when it is run by specifying various options on the command line. These allow the build process to be fine-tuned, provide useful diagnostic information, and can be used to specify the target platform for your project.
The syntax used to run
qmake
takes the following simple form:
qmake [mode] [options] files
qmake
supports two different modes of operation: In the default mode,
qmake
will use the description in a project file to generate a Makefile, but it is also possible to use
qmake
to generate project files. If you want to explicitly set the mode, you must specify it before all other options. The
mode
can be either of the following two values:
-makefile
qmake
output will be a Makefile.
-project
qmake
output will be a project file.
QT
variable to suit what modules are required for the project.
下列
options
are used to specify both general and mode-specific settings. Options that only apply to the Makefile mode are described in the
Makefile 模式选项
section; options that influence the creation of project files are described in the
Project File Options
章节。
The
文件
自变量表示一个或多个工程文件的列表,由空格分隔。
A wide range of options can be specified on the command line to
qmake
in order to customize the build process, and to override default settings for your platform. The following basic options provide usage information, specify where
qmake
writes the output file, and control the level of debugging information that will be written to the console:
-help
qmake
will go over these features and give some useful help.
-o
file
qmake
output will be directed to
file
. If this option is not specified,
qmake
will try to use a suitable file name for its output, depending on the mode it is running in.
-d
qmake
will output debugging information.
For projects that need to be built differently on each target platform, with many subdirectories, you can run
qmake
with each of the following options to set the corresponding platform-specific variable in each project file:
-unix
qmake
will run in unix mode. In this mode, Unix file naming and path conventions will be used, additionally testing for
unix
(as a scope) will succeed. This is the default mode on all Unices.
-macx
qmake
will run in Mac OS X mode. In this mode, Unix file naming and path conventions will be used, additionally testing for
macx
(as a scope) will succeed. This is the default mode on Mac OS X.
-win32
qmake
will run in win32 mode. In this mode, Windows file naming and path conventions will be used, additionally testing for
win32
(as a scope) will succeed. This is the default mode on Windows.
The template used for the project is usually specified by the
TEMPLATE
variable in the project file. We can override or modify this by using the following options:
-t
tmpl
qmake
will override any set
TEMPLATE
variables with tmpl, but only
after
the .pro file has been processed.
-tp
prefix
qmake
will add the prefix to the
TEMPLATE
变量。
The level of warning information can be fine-tuned to help you find problems in your project file:
-Wall
qmake
will report all known warnings.
-Wnone
qmake
}.
-Wparser
qmake
will only generate parser warnings. This will alert you to common pitfalls and potential problems in the parsing of your project files.
-Wlogic
qmake
will warn of common pitfalls and potential problems in your project file. For example,
qmake
will report whether a file is placed into a list of files multiple times, or if a file cannot be found.
qmake -makefile [options] files
In Makefile mode,
qmake
will generate a Makefile that is used to build the project. Additionally, the following options may be used in this mode to influence the way the project file is generated:
-after
qmake
will process assignments given on the command line after the specified files.
-nocache
qmake
will ignore the .qmake.cache file.
-nodepend
qmake
will not generate any dependency information.
-cache
file
qmake
将使用
file
as the cache file, ignoring any other .qmake.cache files found.
-spec
spec
qmake
将使用
spec
as a path to platform and compiler information, and the value of
QMAKESPEC
将被忽略。
You may also pass
qmake
assignments on the command line; they will be processed before all of the files specified. For example:
qmake -makefile -unix -o Makefile "CONFIG+=test" test.pro
This will generate a Makefile, from test.pro with Unix pathnames. However many of the specified options aren't necessary as they are the default. Therefore, the line can be simplified on Unix to:
qmake "CONFIG+=test" test.pro
If you are certain you want your variables processed after the files specified, then you may pass the
-after
option. When this is specified, all assignments on the command line after the
-after
option will be postponed until after the specified files are parsed.
qmake -project [options] files
In project mode,
qmake
will generate a project file. Additionally, you may supply the following options in this mode:
-r
qmake
will look through supplied directories recursively
-nopwd
qmake
will not look in your current working directory for source code and only use the specified
文件
In this mode, the
文件
argument can be a list of files or directories. If a directory is specified, it will be included in the
DEPENDPATH
variable, and relevant code from there will be included in the generated project file. If a file is given, it will be appended to the correct variable, depending on its extension; for example, UI files are added to
FORMS
, and C++ files are added to
SOURCES
.
You may also pass assignments on the command line in this mode. When doing so, these assignments will be placed last in the generated project file.