【问题标题】:$$PWD no longer working in Qt Creator 2.6$$PWD 不再在 Qt Creator 2.6 中工作
【发布时间】:2012-11-23 16:02:02
【问题描述】:

我有一个项目 (https://github.com/waddlesplash/qtfastjson),它有一个使用 qmake 的 $$PWD 变量的 .pri 文件。这在所有经过测试的 qmake 版本中都可以正常工作,但在 Qt Creator 2.6 中,文件不会显示在项目树中(但可以正确编译)。

这是 PRI:

QT += core
INCLUDEPATH += $$PWD

HEADERS += $$PWD/QtFastJson.h \
    $$PWD/QtFastJsonObject.h

SOURCES += $$PWD/QtFastJson.cpp \
    $$PWD/QtFastJsonObject.cpp

包含在 .pro 中:include(../src/QtFastJson.pri)

如果 $$PWD 变量被删除并替换为相对路径,文件将显示在树中。

【问题讨论】:

  • 如果您正在执行 Shadow Build,那么 PWD 可能不是您所期望的。 (见this question的回复)
  • 我确实使用 Shadow Build,但这一直有效到 QtCreator 2.6.... 可能是因为 include() 中的 ../?我认为如果 .pro 在包含中不使用 ../,则其他带有 $$PWD 的 PRI 可以工作,所以这是一个错误吗?

标签: windows qt qt-creator qmake


【解决方案1】:

它似乎在 Qt Creator 2.6 中对我有用。尝试在附加到 HEADERS 变量之前立即放置日志:

message($$PWD)

然后检查该路径是否真的包含您要添加的文件。 您也可以尝试使用 _PRO_FILE_PWD_ 变量。

【讨论】:

  • 它符合要求。 Qt Creator 只是不会显示树中的文件,但它在 2.6 之前会显示。我开始认为这确实是一个关于 ../ in include() 的错误。
  • 是的,我已经阅读了您的问题。但是,您的评论没有用。该消息的输出是什么?
  • 消息输出.pri文件所在的目录,也就是源文件所在的目录。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多