Я хотел бы запустить Приложение ARToolKitX Calibration на iOS. К сожалению, приложение недоступно в App Store, поэтому я предполагаю, что мне придется скомпилировать его самостоятельно. К счастью, у меня есть активная учетная запись Apple Developer …
Итак, я получил исходный код от GitHub:
git clone https://github.com/artoolkitx/artoolkitx-calibration
cd artoolkitx-calibration
Затем я загрузил библиотеку ARToolKitX для iOS из https://github.com/artoolkitx/artoolkitx/releases/download и я следовал за шагами в разделе iOS из build.sh
скрипт для связи этого SDK с проектом Xcode.
Я открыл проект с Xcode 9.3 на macOS High Sierra 10.13.3.
Я скачал opencv2.framework
библиотека из SourceForge и связал ее: https://sourceforge.net/projects/opencvlibrary/files/opencv-ios/
Xcode сообщил о проблеме в линия 61 prefs.hpp
:
cv::Size getPreferencesCalibrationPatternSize(void *preferences);
‘getPreferencesCalibrationPatternSize’ имеет указанное C-linkage, но возвращает пользовательский тип ‘cv :: Size’ (он же ‘Size_’), который несовместим с C
Любой указатель, чтобы сделать шаг вперед в этом процессе компиляции, будет принята с благодарностью!
У меня была такая же проблема сегодня. Вы должны убедиться, что ваши файлы исходного кода, обычно файлы .c и .h, интерпретируются как заголовки и источники C ++. Для этой конкретной ошибки проследите, какой файл вызывает cv::Size
и измените его тип на заголовок / источник C ++.
Вопрос компиляции был исправлен удалив следующие строки вокруг генерирующего ошибки использования cv::Size
:
#ifdef __cplusplus
extern "C" {
#endif
...
#ifdef __cplusplus
}
#endif