开发者

Headers in 3rd party frameworks on Mac OS X

I'm using the 开发者_开发问答Sparkle framework in Qt. I've added the following to my .pro file:

LIBS += -framework Sparkle
QMAKE_CXX_FLAGS += -F/path/to/the/directory/sparkle.framework/is/in

However I get a compilation error saying "Sparkle/Sparkle.h" cannot be found. Framework headers physically reside in MyFramework.framework/Headers/*.h and are included like MyFramework/*.h

What commands do I need to add to my .pro file to properly include the Sparkle framework headers?


The problem was that I was using QMAKE_CXXFLAGS, I needed to use QMAKE_CFLAGS for the compiler to include the headers.


You can use INCLUDEPATH in the .pro file.

From docs,

This variable specifies the #include directories which should be searched when compiling the project. Use ';' or a space as the directory separator.

So, in your case it will be like,

INCLUDEPATH = MyFramework.framework/Headers

where

MyFramework.framework/Headers is the physical location of the headers.

I never been used to MAC OS but still hope it helps..

Edit:

If you want to include like FrameWorkName/HeaderFile.h you can stop with specifying upto the desired folder.

For e.g,

If home/CommonFolder/FrameWorkName/HeaderFile.h is your header file's physical location, you can give the INCLUDEPATH as

INCLUDEPATH = home/CommonFolder

Now In your .cpp you can give like #include "FrameWorkName/HeaderFile.h",

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜