著作権
-------------------------------------------------- --------------
著者:という名前のホワイト歳の娘
ソースを示してください!
Web版コースソース抽出コード:1uy7
入門
-------------------------------------------------- --------------
我々は、単一の例と基本的な構成プロのexeファイルを導入前のセクションでは、このセクションでは、いくつかの一般的な設定のプロファイルを見てください。
テキスト
-------------------------------------------------- --------------
1. EXE やDLL --- TEMPLATE
私たちは、どのようなことで決定されたプログラムのいずれかのプログラムのexeファイル、DLLのいずれかのプログラムを開発してきましたか?まずは、テンプレート設定項目を紹介しましょう。私たちのプログラムを決定するための設定項目は、exeファイルやdllファイルを生成しています。
TEMPLATE =アプリ#はexeファイルを生成するアイテムを表します
TEMPLATE = libに#は、DLLを生成するためのアイテムを表します。
TEMPLATE =サブディレクトリ番号は、この項目が指定されたサブディレクトリをスキャンし、関連する一連の操作を実行することを示しています。
#しばしばSUBDIRSパラメータと組み合わせて使用。
#あなたが翻訳されるサブディレクトリのリストを指定する場合たとえば、あなたが設定を使用することができます。
2. 言語の開発を何--- LANGUAGE
構文:LANGUAGE = C ++
このプロジェクトは、C ++言語での開発を表します。
注意:Cは大文字。
3. 生成モジュール名--- TARGET
構文:TARGET = XXX
このプロジェクトは、XXXとして生成されたプログラムの名前を表します。
例えば、テンプレートパラメータに応じて、WindowsまたはProg.dll prog.exe上に生成、またはLINUXをPROG(EXEファイル名)またはlibprog.so.1.0.0(DLLファイル名)で生成された場合、使用することができます:
TARGET = PROG
4. デバッグまたはリリース--- CONFIG
文法:CONFIG + = XXX XXX XXX
いくつかのCONFIGの設定項目は区別中間空間で、増加を示します。
文法:CONFIG - = XXX XXX XXX
CONFIGの設定は、特定の項目を削除することを意味します。
導入された一般的なパラメータ:
解除
リリースバージョンを構築。あなたはまた、デバッグを指定した場合、最後のものが動作します。=リリース、CONFIG + =リリース - +は、CONFIGによって制御することができます
デバッグ
デバッグモードでのプロジェクトの建設。それは+/-で制御することができます。
debug_and_release
デバッグとリリースモードへのプロジェクトの建設。同時に、コンパイル時であるターゲットプログラムのデバッグリリースバージョンを生成します。
precompile_header
あなたは、プロジェクト内のプリコンパイル済みヘッダーを使用することができます。
RT
RTTIのサポートを有効にします。(約特定のコンパイラとの)デフォルトコンパイラのデフォルト。rtti_offによって閉じます。
サイズ
STLのサポートを有効にします。(約特定のコンパイラとの)デフォルトコンパイラのデフォルト。stl_offによって閉じます。
糸
スレッドのサポートを有効にします。ときにQTを含むCONFIGを可能にしました。スレッドはデフォルトの設定です。
warn_on
コンパイラは、出力として、多くの警告をする必要があります。あなたもwarn_offを指定した場合、最後のものが動作します。
警告する
コンパイラは、いくつかの警告として出力する必要があります。
QT
彼はQTライブラリをリンクする必要性を表明しました。一般的にはQtライブラリの設定項目を使用する必要が、サービス・モジュールの開発は、サービスモジュールを書くときにのみ、自分のを書くために、一般的に他のライブラリやライブラリを使用して、プロジェクトを整理してコンパイルするQtのプロファイルを使用して、その場合、一般的に(QTない操作を行います書いた:CONFIG - = QT)。
C ++ 11
C ++ 11のサポートを有効にします。コンパイラが++、11 Cは、このオプションをサポートしていない場合、それは効果がありません。デフォルトのC ++ 11ではサポートされていません。
C ++ 14
启用c++14支持。如果编译器不支持c++14这个选项,没有影响。默认不支持c++14。
5. 使用qt的哪些模块---QT
语法:QT += xxx xxx xxx
表示增加某些QT配置项,各个配置项之间用空格隔开。
语法:QT -= xxx xxx xxx
表示删除某些QT配置项。
指定项目中使用Qt的模块。默认情况下,QT包含core和gui这两个模块,以确保标准的GUI应用程序无需进一步的配置就可以构建。
如果想建立一个不包含Qt GUI模块的项目,可以使用“ -=”操作符。
下面一行将构建一个不带gui的Qt项目:
1. |
QT -= gui # 仅仅使用core模块 |
如果要创建一个界面(widget),而且要用到XML及网络相关的类,那么需要包含如下模块:
1. |
QT += widgets xml network |
请注意,如果您需要用到ui文件,请务必配置QT+= widgets,否则编译时将无法通过uic处理ui文件(无法生成ui文件对应的.h头文件),将导致编译失败。
6. 各种DIR | 各种PATH
DEPENDPATH
指定查看解决依赖关系的目录列表,当包含文件时使用:
1. |
DEPENDPATH += . forms include qrc sources |
其中"."表示当前目录。
INCLUDEPATH
指定编译项目时应该被搜索的include目录,比如:
1. |
INCLUDEPATH = $$(TRAINDEVHOME)/include |
这里使用了环境变量TRAINDEVHOME,引用环境变量时要写成$$(TRAINDEVHOME)的样子。关于环境变量的使用将在下节详细介绍。
这里需要注意的是,如果项目中包含资源 (.ui) 文件,那么应该将$$UI_DIR添加到INCLUDEPATH中,这需要提前定义UI_DIR的值:
1. 2. 3. |
UI_DIR = $(TRAINDEVHOME)/obj/demo/dialog/ui INCLUDEPATH += $$(TRAINDEVHOME)/include \ $$UI_DIR |
DESTDIR:
指定目标文件的存放位置,也就是项目生成的exe或dll的存放目录。 比如下述语句指明了一个dll项目的目标程序的存放位置:
1. |
DESTDIR = ../../lib |
MOC_DIR:
指定来自moc的所有中间文件放置的目录(含Q_OBJECT宏的头文件转换成标准.h头文件的存放目录)。比如:
1. |
MOC_DIR = $$(TRAINDEVHOME)/obj/moc |
OBJECTS_DIR:
指定所有中间文件.o(.obj)的存放目录,比如:
1. |
OBJECTS_DIR = $$(TRAINDEVHOME)/obj/chapter02/ks02_04 |
RCC_DIR:
指定Qt资源编译器输出文件的目录(.qrc文件转换成qrc_*.h头文件的存放目录),比如:
1. |
RCC_DIR =$$(TRAINDEVHOME)/obj/chapter02/ks02_04/resources |
UI_DIR:
指定qt的uic命令转换ui文件得到的所有中间文件放置的目录(.ui文件转化成ui_*.h头文件的存放目录),比如:
1. |
UI_DIR =$$(TRAINDEVHOME)/obj/chapter02/ks02_04/ui |
7. FORMS
指定项目使用的ui文件。这些ui文件在编译前将被qt的uic命令处理。所有的构建这些ui文件所需的依赖、头文件和源文件都会自动被添加到项目中。
1. 2. |
FORMS = mydlg.ui \ login.ui |
8. HEADERS
指定项目用到的头文件,比如:
1. 2. 3. 4. |
HEADERS = abc.pro \ myfile.h \ ../../comdll/mycom.h \ $$(TRAINDEVHOME)/include/base.h |
注:
1. 将pro文件添加到HEADERS是为了方便,这样就可以在VisualStudio工具中直接找到pro文件,而无需到资源管理器查找。 2. 可以用相对路径的语法,比如:../../comdll/mycom.h 3. 可以使用环境变量,比如: $$(TRAINDEVHOME)/include/base.h 4. 使用”\”进行换行。"\"前加一个空格。 |
9. SOURCES
项目用到的cpp文件,语法、注意点同HEADERS。
10. RESOURCES
项目用到的资源文件 (qrc) 的名称,比如:
1. |
RESOURCES += mdi.qrc |
11. LIBS
指定链接到项目中的库列表。使用-l(小写的L)和-L两种语法。
-l(小写的L)
表示库文件名,比如,下面的语句表示链接到库文件mycomm。
1. |
LIBS += -lmycomm |
-L
表示库文件所在的路径,比如,下面的语句表示库文件所在目录为:
/usr/local/myprogram/lib,链接的库文件为mycomm、fesp。
1. 2. 3. |
LIBS += -L/usr/local/myprogram/lib \ -lmcomm \ -lfesp |
12. TRANSLATIONS
指定包含用户界面翻译文本的翻译(.ts)文件列表,比如:
#xxxfortranslations.pro
1. |
TRANSLATIONS =translations/graphplatform_zh_CN.ts |
该配置将被lupdate命令读取(如下,手工执行该命令),生成的ts文件就保存在TRANSLATIONS所指向的文件名。
lupdate xxxfortranslations.pro |
13. SUBDIRS
同template=subdirs配合使用。
该配置指出本项目包含的子目录,可以用来扫描生成翻译文件,或者级联生成整个项目的Makefile。
1. 2. 3. 4. 5. 6. 7. |
template=subdirs
SUBDIRS = \ esfc \ common \ phcore \ phwidget |
如果pro包含上述内容,那么对该pro执行qmake时,qt会自动进入SUBDIRS所包含的各个子目录,分别执行qmake。
注:
1. 修改pro或pri文件后,务必重新执行qmake或qmake –tp vc,以便更新Makefile或者VisualStudio的项目文件(.vcxproj) |
结语
----------------------------------------------------------------
本节,我们给大家介绍了pro文件常用的一些配置,内容稍微有点多。读者需要通过多加练习慢慢掌握。练习时,读者可以尝试修改配置项的值通过观察效果来加深理解。
----------------------------------------------------------------