用于C ++应用程序的基于Sparkle的更新程序[OS X]

时间:2013-03-05 07:16:08

标签: c++ macos sparkle

我正在尝试为用C ++ / Qt编写的应用程序实现自动更新程序。它应该可以在Mac OS X上运行。我在网上搜索过,发现Sparkle框架应该适合我的需求。我在我的xcode项目中添加了Sparkle framework 1.5 b6,还添加了头文件:

#include <Sparkle/Sparkle.h> 

现在,当我尝试构建项目时,编译器在SUVersionComparisonProtocol.h和SUUpdater.h中给了我很多错误:

Expected unqualified-id: @protocol SUVersionComparison
Expected unqualified-id: @end
Expected unqualified-id: @interface SUUpdater: NSObject {

等等

我看到这些头文件是用Objective-C编写的,所以看起来C ++编译器根本无法处理它们。但是,我知道使用Sparkle的C ++应用程序。那么有人可以告诉我它应该如何在C ++应用程序中使用?

1 个答案:

答案 0 :(得分:3)

确实,您需要混合C ++和Objective-C。

这是一个很好的解释,以及一个实现示例:http://el-tramo.be/blog/mixing-cocoa-and-qt/

这是一个C ++ / Qt项目,为Sparkle构建一个Qt可用的dylib包装器:https://github.com/Roxee/qt-roxeemegaup/