一、pro文件
.pro就是工程文件(project),是Qt项目的主配置文件,用于描述整个项目的基本信息和编译配置。在Qt中用qmake生成makefile文件,它是由.pro文件生成而来的,.pro文件的具体格式语法如下:
1.1 注释
.pro文件中注释采用#号,从“#”号开始,到该行的结束,快捷键:Ctrl+/,例如:
1.2 跨平台设置
为防止出错,后面的左大括号要跟着关键字
win32{
}
unix{
}
1.3 模板TEMPLATE
模板变量告诉qmake为这个应用程序生成那种makefile文件。下面是可提供使用的选择:
TEMPLATE=app
- app-建立一个应用程序的makefile。这是个默认值,所以如果模板没有被指定,该模板将会被使用。
- lib -建立一个库的makefile,创建静态库的项目,可供其他项目进行链接和使用。
- vcapp -建立一个应用程序的Visual Studio项目文件。
- vclib -建立一个库的VisualStudio项目文件。
- subdirs -这是一个特殊的模板,它可以创建一个能够进入特定目录并且为一个项目文件生成makefile,并且为它调用make的makefile。创建包含多个子项目的容器项目,用于管理多个相关的子项目。
1.4 添加文件路径
- TRANSLATIONS:指定包含用户界面翻译文本的翻译(.ts)文件列表
HEADERS +=
用来添加头文件,指定项目中的头文件(.h文件)。将所有的头文件列在此处,以便在编译过程中进行包含。SOURCES +=
用来添加源文件,指定项目中的源代码文件(.cpp文件)。将所有的源文件列在此处,以便在构建过程中进行编译。FORMS +=
用来添加 ui 文件,指定项目中的窗体设计文件(.ui文件)。窗体设计文件由Qt Designer生成,定义了用户界面的布局和组件。RESOURCES +=
用来添加资源文件,指定项目中的资源文件(.qrc文件)。资源文件可以包含图像、字体、翻译文件等,通过将它们添加到资源文件中,可以方便地进行访问和使用。INCLUDEPATH +=
用来存放添加头文件的路径,指定项目的头文件搜索路径。如果您的项目中使用了其他文件夹中的头文件,可以将这些文件夹添加到INCLUDEPATH中,以便编译器能够找到并包含它们。DEPENDPATH +=
用来添加依赖相关路径,- DEPENDPATH和INCLUDEPATH有什么异同点
LIBS +=
用来添加库文件,指定项目所需的外部库依赖。如果您在项目中使用了第三方库,需要在LIBS中添加相应的库名称和路径,以确保链接时能够正确地找到并使用这些库。- LIBS += -L"头文件路径" -l"库文件名"
- 实例(注意库名没有后缀)
- TARGET:指定项目的目标文件名。默认情况下包含的项目文件的基本名称,可以自定义生成的可执行文件或库的名称
-
QT:指定项目使用的Qt模块和版本号。通过QT选项,可以声明项目所需的Qt模块,并指定所需的Qt版本。例如,QT += core gui表示项目需要使用Qt的核心模块和图形用户界面模块。
-
DEFINES:定义预处理器宏。如果您需要在代码中使用特定的宏标记,可以在DEFINES中添加它们。
-
PRE_TARGETDEPS:指定项目构建之前的依赖项。如果您需要在构建项目之前执行其他任务或依赖其他项目,可以在PRE_TARGETDEPS中指定它们。
通过在.pro文件中配置这些选项,您可以根据项目的需求和要求,定制和管理Qt项目的构建过程、依赖关系和设置。 -
$$PWD
pro或.pri所在路径,注意区分_PRO_FILE_PWD_
16. OUT_PWD:makefile所在路径,和_PRO_FILE_PWD_对应
17. PRO_FILE:pro的全路径
18. PRO_FILE_PWD:pro文件所在路径(注意:即使它在pri文件内,也是指代的包含它的pro所在的路径)
将某一文件复制到指定路径
16 . DESTDIR:指定在何处放置目标文件
17.UI_DIR:指定来自uic的所有中间文件放置的目录(.ui文件转化成ui_*.h文件的存放目录)
18. MOC_DIR:指定moc命令将含Q_OBJECT的头文件转换成标准.h文件的存放目录
19. OBJECTS_DIR:指定目标文件的存放目录
OBJECTS_DIR += ../tmp
20. RCC_DIR:指定rcc命令将.qrc文件装换成qrc_*.h文件的存放目录
OBJECTS_DIR += ../tmp
注意:
INCLUDEPATH一般用在添加第三方 .dll 的时候所需的头文件路径;
HEADERS用来添加当前项目的路径;
LIBS += -LC:/Windows/System32/ -luser32
格式为:-L 路径 -l 库名
库比较多的时候可以用 \来达到换行目的
引用相对路径的库文件的时候,$$PWD 指的是项目 .pro 文件所在的路径,`$$OUT_PWD` 指的是编译的目标所在的路径。如果不