关于Qt Creator项目中.pro文件中的相对路径

介绍

.pro文件里的相对路径不全都是相对于pro文件的,有的是,有的不是。

1、一种情况下./表示.pro文件所在的目录;另一种情况下./表示构建生成目录;

1.1.是的情况

SOURCE

FORMS

HEADERS

INCLUDEPATH

DEPENDPATH 等等

这些变量中使用的./指的是.pro文件所在的目录

 

1.2.不是的情况

DESTDIR

OBJECTS_DIR

MOC_DIR

RCC_DIR

UI_DIR

UI_HEADERS_DIR

UI_SOURCES_DIR

win32:CONFIG(debug)

win32:CONFIG(release) 等等

这些变量中使用的./指的是构建生成目录。

 

2、影子构造说明

如果没有选择影子构造(shadow build),构建生成目录和.pro文件所在目录是同一个目录;

如果指定了shadow build,且指定了构建生成目录,那构建目录和.pro文件所在目录就不是同一个。

我们默认是会选择shadow build的,所以构建目录≠.pro目录。

 

3、subdirs:多工程多目录的情况

它们的相对路径都是针对你项目下的构建目录+子项目文件夹来的,例如

TEMPLATE = subdirs
SUBDIRS = \
    muparser \
    librecad
CONFIG += order

那么构建目录,BuildPath假如是F:\CADCAM\QCAD\src\build-LibreCAD-v1.0.4-qt4-Desktop_Qt_4_8_7_MSVC2010_32bit-Debug

于是,相对路径和绝对路径的对应关系,分别是:

---举例1---

相对,DESTDIR = bin

绝对,DESTDIR =$${BuildPath}/muparser/bin

绝对,DESTDIR =$${BuildPath}/librecad/bin

---举例2---
相对,DESTDIR = ../bin

绝对,$${BuildPath}/bin

 

4、.pro文件打印输出

在.pro文件,添加message函数,保存,会在“编译输出”窗口,打印出结果。

 message($$PROJECT_ROOT)

 message($$PWD)

 message($$DESTDIR)

 message($$TARGET)

Project MESSAGE: F:/CADCAM/QCAD/src/LibreCAD-v1.0.4-qt4/muparser
Project MESSAGE: F:/CADCAM/QCAD/src/LibreCAD-v1.0.4-qt4/muparser
Project MESSAGE: ../bin/lib
Project MESSAGE: muparserd

 

5、.pro常用的宏定义

TEMPLATE = app

HEADERS:需要包含的头文件的列表。

SOURCES:需要的源文件的列表。

FORMS:需要的.ui文件的列表。

LEXSOURCES:所有lex源文件的列表。

YACCSOURCES:所有yacc源文件的列表。

TARGET:可执行应用程序的名称。默认值为项目文件的名字。

DESTDIR:放置可执行程序目标的目录。

OBJECTS_DIR:放置obj中间文件的目录。

MOC_DIR: moc转换文件路径。

RCC_DIR: 资源文件路径。

UI_DIR:ui文件转换的路径。

RESOURCES:需要包含的资源文件。

LIBS:依赖库的路径和名称 -L{xxdirxx} -l{xxnamexx}。

LIBEXT: 产生lib的后缀。

DEFINES:应用程序所需的额外的宏定义列表。

INCLUDEPATH:应用程序所需的额外的包含路径列表。

DEPENDPATH:应用程序所依赖的搜索路径。

VPATH:寻找补充文件的搜索路径。

DEF_FILE:只有Windows需要:应用程序所要连接的.def文件。

RC_FILE:只有Windows需要:应用程序的资源文件。

RES_FILE:只有Windows需要:应用程序所要连接的资源文件。

TRANSLATIONS: 多国语言支持文件。

INSTALLS: 要安装的文件。

target.path: 安装的路径。
 

 

姊妹篇

欢迎访问姊妹篇《Qt Creator指定临时文件生成目录(MOC_DIR/RCC_DIR等)和PWD/OUT_PWD/.pro官方文档

欢迎访问姊妹篇《Qt .pro文件之defineReplace函数的用法,实现lib文件名自动添加后缀"d"

 

---

https://doc.qt.io/qt-5/qmake-variable-reference.html  官方.pro文件的变量清单,多关注QMAKE_CXXFLAGS

 

 

  • 15
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值