为什么Qt会添加' PWD'到相对未引用的库?

时间:2015-04-04 18:44:37

标签: c++ qt syntax qt-creator

每当我在Qt项目的.pro文件中添加库时(在Qt 5.2中),它会在库的路径前添加$$PWD并包含路径。例如

INCLUDEPATH += $$PWD/C:/opencv/opencv-msvc2013/install/include

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/C:/opencv/opencv-msvc2013/install/x64/vc12/lib/

我的问题是

  1. 如果Qt提供了库的绝对路径,为什么Qt会使用PWD(当前工作目录)关键字启动路径?这个约定遵循什么逻辑/良好的编程习惯?
  2. 最重要的是它为什么不会导致错误? Qt如何知道何时相对于工作目录进行搜索以及何时不进行搜索? (因为两种情况都以PWD关键字开头)
  3. PS:我删除了$$PWD个关键字,我的代码也运行得很好。

1 个答案:

答案 0 :(得分:1)

如果项目和库都在同一个驱动器中,则不会发生这种情况,并且会自动生成相对路径。但是在Windows上如果你添加一个位于另一个驱动器中的库,它会添加$$PWD后跟一个绝对路径。

这听起来像一个错误并且已经报告here但它仍然没有得到解决。