2009-10-27 3 views
1

У меня возникла проблема ... Я пытаюсь использовать QTKit в приложении, которое у нас есть на работе. Единственная проблема с этим - это приложение написано на C++, а не Obj-C. Я просмотрел документацию Apple для ответов, но я не нашел ничего полезного.Objective c библиотека с интерфейсом c

В принципе, я хочу написать один класс контроллера в Obj-C, который имеет свои методы, открытые через интерфейс C для моего приложения. Я уже написал весь этот код, но когда я пытаюсь связать его с образцом C++-приложения, он находит символы Obj-C в lib и жалуется на то, что они там. Я думал о том, чтобы скрывать символы с использованием флагов компилятора, но я видел в документах Apple, что Obj-C не влияет на это, поскольку классы и сообщения связаны средой выполнения, а не компоновщиком.

Неужели кто-нибудь успешно это сделал?

Спасибо, Робби

ответ

3

Вы можете использовать QTKit из приложения C++ с помощью Objective-C++:

Переименовать файлы, которые имеют доступ QTKit от .cpp к .mm. Это ничего не меняет в вашем существующем коде, но вы можете использовать Objective-C из этих файлов.

+0

Я бы предпочел держаться подальше от Objective-C++, если это возможно. Код также является общим для Windows и Linux, поэтому я бы хотел иметь только интерфейс C. – Robbie

+0

В любом случае вы должны отделить части QTKit от независимых от платформы частей. Вы можете поместить определенные части платформы в файлы mm, потому что они не будут компилироваться на других платформах. Но похоже, что вы хотите вставить слой абстракции, чтобы облегчить принятие различных видео API рядом с QTKit. В этом есть смысл. –

 Смежные вопросы

  • Нет связанных вопросов^_^