Обновление на основе 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/