$$PWD 和 .在 .pro 中意味着在 qt 中

what do $$PWD and . mean in .pro in qt

我在我的应用程序中遇到了一个缺少库的问题,结果这可能与我对qt项目.pro文件中的$$PWD.的理解有关。

  1. $$PWD. 都表示 包含 .pro 文件的目录 构建过程生成的目录(如:****-build-desktop-Qt_4_8_1_in_PATH__System__Debug)。或者,它们的含义不同。

  2. 在一些像OBJECTS_DIR = obj/Obj这样的变量声明中,看起来.意味着生成的目录。然而,在 HEADERS += remoteclient.h ./RealPlay/realplay.h \ 中,看起来 . 表示 包含 .pro 文件的目录

  3. 它们在LIBS、DESTDIR等中的含义如何?

$$PWD表示当前文件(.pro或.pri)所在的目录。

LIBS同义。我只是在我的项目中这样使用它:

LIBS += -L$$PWD/deps/android -lopenal

. 在 .pro 文件中没有任何特殊含义。它与 Linux/Unix shell 中的含义相同:当前工作目录。如果您在 LIBS 中使用它,它很可能会引用 link 命令所在的构建目录 运行。 . 未展开。如果你说 -L.,那么 link 人就会得到 -L.

HEADERS += remoteclient.h ./RealPlay/realplay.h \ 的情况下,qmake 将相对于 $$PWD 处理这些路径,因此是否存在 . 并不重要。在这种情况下,HEADERS += $$PWD/remoteclient.h $$PWD/./RealPlay/realplay.h \ 将是有效的搜索路径。否则外源构建将无法工作。

请注意,路径中间的 . 不会执行任何操作。