代码之家  ›  专栏  ›  技术社区  ›  Jake Petroules

Mac OS X上第三方框架中的头文件

  •  3
  • Jake Petroules  · 技术社区  · 14 年前

    我在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 回复  |  直到 14 年前
        1
  •  2
  •   Jake Petroules    14 年前

    问题是我用的是 QMAKE_CXXFLAGS ,我需要使用 QMAKE_CFLAGS 以便编译器包含头。

        2
  •  0
  •   liaK    14 年前

    你可以使用 INCLUDEPATH .pro 文件。

    从文档,

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

    所以,在你的情况下,

    INCLUDEPATH = MyFramework.framework/Headers
    

    在哪里?

    MyFramework.framework/Headers 实际位置 标题的。

    我从未习惯过Mac OS,但仍希望它能有所帮助。

    编辑 :

    如果你想包括像 FrameWorkName/HeaderFile.h 您可以停止指定到所需的文件夹。

    例如,

    如果 home/CommonFolder/FrameWorkName/HeaderFile.h 是头文件的物理位置,您可以 包含路径 作为

    INCLUDEPATH = home/CommonFolder
    

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