我在Qt中使用Sparkle框架。我已将以下内容添加到我的.pro文件中:
LIBS += -framework Sparkle
QMAKE_CXX_FLAGS += -F/path/to/the/directory/sparkle.framework/is/in
但是我收到编译错误,说“Sparkle / Sparkle.h”无法找到。框架标题实际上驻留在MyFramework.framework / Headers / * .h中,并且包含在MyFramework / *中.h
我需要将哪些命令添加到我的.pro文件中才能正确包含Sparkle框架标题?
答案 0 :(得分:2)
问题是我使用QMAKE_CXXFLAGS
,我需要使用QMAKE_CFLAGS
让编译器包含标题。
答案 1 :(得分:0)
您可以在.pro
文件中使用INCLUDEPATH
。
来自docs,
此变量指定编译项目时应搜索的#include目录。使用 ';'或空格作为目录分隔符。
所以,在你的情况下,它会像,
INCLUDEPATH = MyFramework.framework/Headers
,其中
MyFramework.framework/Headers
是标题的物理位置。
我从未习惯过MAC OS但仍然希望它有所帮助..
修改强>:
如果您希望包括FrameWorkName/HeaderFile.h
,则可以停止指定所需的文件夹。
例如,
如果home/CommonFolder/FrameWorkName/HeaderFile.h
是您的标题文件的实际位置,则可以将INCLUDEPATH
设为
INCLUDEPATH = home/CommonFolder
现在在您的 .cpp 中,您可以提供#include "FrameWorkName/HeaderFile.h"
,