Как построить DLIB для iOS

Я пытаюсь создать DLIB для проекта iOS. Запуск cmake приводит к libdlib.a и загрузке файлов .o.

Когда я добавляю библиотеку в проект Xcode, я получаю предупреждение о том, что библиотека не была построена для arm64.

Мой вопрос состоит из двух частей:

  • Как я могу создать DLIB для iOS (я пробовал cmake **path_to_source** -DCMAKE_OSX_ARCHITECTURE="arm64", но вызвал множество ошибок, например, unknown type name '__uint32_t'; did you mean '__uint128_t')?
  • Какова цель всех файлов .o, которые создаются при запуске cmake? Нужно ли включать их в проект Xcode?

Ответы

Ответ 1

Я наконец понял, как это сделать:

Требования

  • X11 (на Mac вы можете просто открыть приложение X11, и если X11 не установлен, он приведет вас к загрузке).
  • Xcode
  • cmake (для этого вы можете использовать home- brew)

Шаги

  • В терминале сделайте lib-xx.xx/examples ваш корень
  • Run:

    mkdir build

    cd build

    cmake -G Xcode ..

    cmake --build . --config Release

Это создаст папку под названием dlib_build, в которой вы можете найти проект Xcode, который компилирует библиотеку. В настройках сборки этого проекта Xcode вы можете установить архитектуру сборки и SDK для любой поддерживаемой Xcode операционной системы, которая вам нравится!

EDIT:

Вы должны включить множество пользовательских флагов компилятора и сторонних библиотек, чтобы заставить dlib работать в проекте. Проверьте настройки сборки examples.xcproject.

Ответ 2

Чтобы комплимент RASS-ответа, я добавляю скриншоты, показывающие, как изменить это в iOS и OSX lib

После открытия проекта

  • Выберите файл проекта из навигатора проекта
  • Выберите цель dlib полностью вниз
  • Выберите "Настройки сборки"
  • Разверните "Базовый SDK".

введите описание изображения здесь

  1. Выберите iOS или macOS (OSX)

введите описание изображения здесь

Надеюсь, это поможет некоторым людям! ГЛ