Mac OS X上第三方框架中的标题

时间:2010-08-11 07:27:13

标签: macos qt frameworks header sparkle

我在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框架标题?

2 个答案:

答案 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"