我在我的应用程序中遇到了一个库缺失问题,这可能与我对qt项目的$$PWD
和.
文件中的.pro文件的理解有关。
$$PWD
和.
的意思都是dir,其中包含由构建过程生成的.pro文件或dir(如:或者,它们的意义不同。OBJECTS_DIR = obj/Obj
)中,.
表示生成的dir。然而,在HEADERS += remoteclient.h ./RealPlay/realplay.h \
中,.
的意思是包含.pro文件的dir。发布于 2016-03-01 20:32:59
$$PWD
是指当前文件(.pro或.pri)所在的dir。
在LIBS
中它的意思是相同的。我只是在我的项目中像这样使用它:
LIBS += -L$$PWD/deps/android -lopenal
.
在.pro文件中没有任何特殊的含义。它的含义与Linux/Unix中相同:当前工作目录。如果在LIBS
中使用它,它很可能会引用正在运行链接命令的build目录。.
没有展开。如果你说-L.
,链接器就会得到-L.
在HEADERS += remoteclient.h ./RealPlay/realplay.h \
的情况下,qmake将相对于$$PWD
处理这些路径,因此是否存在.
并不重要。在这种情况下,HEADERS += $$PWD/remoteclient.h $$PWD/./RealPlay/realplay.h \
将是有效的搜索路径。否则,源代码外的构建将无法工作。
注意,路径中间的.
不会做任何事情。
https://stackoverflow.com/questions/35731512
复制相似问题