$$PWD 和 .在 .pro 中意味着在 qt 中
what do $$PWD and . mean in .pro in qt
我在我的应用程序中遇到了一个缺少库的问题,结果这可能与我对qt项目.pro文件中的$$PWD
和.
的理解有关。
$$PWD
和 .
都表示 包含 .pro 文件的目录 或 构建过程生成的目录(如:****-build-desktop-Qt_4_8_1_in_PATH__System__Debug)。或者,它们的含义不同。
在一些像OBJECTS_DIR = obj/Obj
这样的变量声明中,看起来.
意味着生成的目录。然而,在 HEADERS += remoteclient.h ./RealPlay/realplay.h \
中,看起来 .
表示 包含 .pro 文件的目录 。
它们在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 \
将是有效的搜索路径。否则外源构建将无法工作。
请注意,路径中间的 .
不会执行任何操作。
我在我的应用程序中遇到了一个缺少库的问题,结果这可能与我对qt项目.pro文件中的$$PWD
和.
的理解有关。
$$PWD
和.
都表示 包含 .pro 文件的目录 或 构建过程生成的目录(如:****-build-desktop-Qt_4_8_1_in_PATH__System__Debug)。或者,它们的含义不同。在一些像
OBJECTS_DIR = obj/Obj
这样的变量声明中,看起来.
意味着生成的目录。然而,在HEADERS += remoteclient.h ./RealPlay/realplay.h \
中,看起来.
表示 包含 .pro 文件的目录 。它们在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 \
将是有效的搜索路径。否则外源构建将无法工作。
请注意,路径中间的 .
不会执行任何操作。