在 Qt .pro 文件中,有一些预定义的宏(或变量),它们代表了特定的路径或与项目、构建环境相关的信息。
以下是一些常用的 .pro 文件宏:
通用宏
- $$PWD: 当前 .pro 文件所在的绝对路径。这是一个非常重要的宏,常用来表示项目根目录。
- $$OUT_PWD: 生成目标文件(如编译后的 .obj 文件、最终的可执行文件或库文件)的目录。默认情况下,这通常是 ./build-,其中 是当前构建配置(如 debug 或 release)。
- $$[QT_INSTALL_PREFIX]: Qt 安装目录的根路径。例如,C:/Qt///。
- $$[QT_INSTALL_HEADERS]: Qt 头文件所在的目录。例如,C:/Qtinclude.
- $$[QT_INSTALL_LIBS]: Qt 库文件所在的目录。例如,C:/Qtlib.
- $$[QT_INSTALL_PLUGINS]: Qt 插件(如平台插件、图像格式插件等)所在的目录。例如,C:/Qtplugins.
- $$[QT_INSTALL_DATA]: Qt 非代码数据文件(如翻译文件、样式表等)所在的目录。例如,C:/Qtresources.
- $$[QT_INSTALL_DOCS]: Qt 文档所在的目录。例如,C:/Qtdocs.
- $$[QT_HOST_DATA]: Qt 构建工具(如 moc、rcc、uic 等)所在目录。例如,C:/Qtbin.
平台相关的宏 - win32, unix, macx, android, ios, etc.: 这些宏用于在 .pro 文件中进行条件编译,根据目标平台选择不同的编译选项或添加特定的源文件。
自定义宏
除了预定义的宏,你还可以在 .pro 文件中自行定义宏,用于组织项目结构、配置编译选项等。自定义宏的定义形式如下:
DEFINES += MY_MACRO
或者
MY_MACRO = value
这里的 MY_MACRO 是自定义宏的名称,value 是宏的值。在 .pro 文件的其他地方,可以使用 $$MY_MACRO 来引用这个宏。
使用示例
在 .pro 文件中,这些宏通常用于设置包含路径(INCLUDEPATH)、库路径(LIBS)、源文件列表(SOURCES)等。例如:
INCLUDEPATH += $$PWD/../common/include
SOURCES += $$PWD/main.cpp
DESTDIR = $$OUT_PWD/../dist
这些宏使得 .pro 文件能够灵活地适应不同的项目结构和构建环境,无需硬编码具体的路径,增强了项目的可移植性。在编写或修改 .pro 文件时,可以充分利用这些预定义宏来简化配置。