1

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

#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++ 应用程序中使用它吗?

4

1 回答 1

3

实际上,您需要混合使用 C++ 和 Objective-C。

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

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

于 2013-03-05T13:00:30.583 回答