我在我的应用程序中遇到了一个库缺失问题,这可能与我对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
复制相似问题