Обновление на основе Sparkle для приложения C++ [OS X]

Я пытаюсь реализовать автоматическое обновление для моего приложения, написанного на C++/Qt. Он должен работать на Mac OS X. Я искал в Интернете и обнаружил, что платформа Sparkle должна подходить для моих нужд. Я добавил Sparkle Framework 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++ просто не может их обработать. Тем не менее, я знаю C++ приложения, которые используют Sparkle. Так может кто-нибудь сказать мне, как его следует использовать в приложениях C++?

1 ответ

Решение

Действительно, вам нужно смешивать C++ и Objective-C.

Вот отличное объяснение вместе с примером реализации: http://el-tramo.be/blog/mixing-cocoa-and-qt/

и вот проект C++/Qt, который создает Qt-используемую оболочку dylib для Sparkle: https://github.com/Roxee/qt-roxeemegaup/

Другие вопросы по тегам