Можно ли использовать код C ++ в приложении WatchOS / WatchKit - PullRequest
0 голосов
/ 10 мая 2019

Пока я могу кодировать приложения WatchOS только в Objective C или Swift.

У меня есть несколько библиотек кода C ++, которые я хотел бы использовать в WatchOS.

Каждый раз, когда я пытаюсь включить их, я получаю ошибки времени компиляции, такие как

ошибка: неизвестное имя типа "класс"

int MyUtil::MyFunction(int value1_)
{
    return value1_ * 2;
}

1 Ответ

0 голосов
/ 17 июня 2019

Да, вы можете включить код C ++ в приложение WatchOS, лично сделав это с приложением Objective C, которое имеет компонент для телефона и часов.

Для начала вам, вероятно, придется вручную добавитьПуть поиска в заголовке и / или исходные файлы к настройкам вашего проекта (Build Phases -> Compile Sources).Точно так же вам, вероятно, потребуется вручную добавить библиотеку в настройки компоновщика (этапы сборки -> связать двоичные файлы с библиотеками).

Немного более раздражающая проблема связана с проблемами искажения имен в C ++.Чтобы обойти это, я создал слой абстракции в C. Другими словами, мой код Objective C вызывает функции, которые я написал в C, которые, в свою очередь, вызывают библиотеку C ++.Если вы воспользуетесь этим подходом, убедитесь, что не включили какие-либо заголовки C ++ из заголовочного файла языка C, иначе вы снова столкнетесь с проблемами искажения имен.

...