3

我在 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 框架头文件?

4

2 回答 2

2

问题是我正在使用QMAKE_CXXFLAGS,我需要使用QMAKE_CFLAGS编译器来包含标题。

于 2010-08-11T20:25:46.313 回答
0

您可以 INCLUDEPATH.pro文件中使用。

从文档,

此变量指定编译项目时应搜索的#include 目录。采用 ';' 或空格作为目录分隔符。

所以,在你的情况下,它会像,

INCLUDEPATH = MyFramework.framework/Headers

在哪里

MyFramework.framework/Headers是标头的物理位置

我从来没有用过 MAC OS,但仍然希望它有所帮助..

编辑

如果您想包含,FrameWorkName/HeaderFile.h您可以停止指定所需的文件夹。

例如,

如果home/CommonFolder/FrameWorkName/HeaderFile.h是你的头文件的物理位置,你可以给INCLUDEPATHas

INCLUDEPATH = home/CommonFolder

现在在你的.cpp你可以给喜欢#include "FrameWorkName/HeaderFile.h"

于 2010-08-11T08:46:19.600 回答