2017-01-19 5 views
0

У меня есть проект на C++ в среде CLion IDE, над которым я работал несколько месяцев назад. Я никогда не думал об этом, но, как оказалось, код полезен для приложения iOS, над которым я сейчас работаю в Objective-C. Я хочу использовать Objective-C++ для взаимодействия с классами C++ вместо того, чтобы переписывать все в Obj-C.Компиляция файла dylib для iOS с CMake

Я скомпилировал свой код от CLion в файл .dylib, используя add_library(CalcOS SHARED ${SOURCE_FILES}) в cmake. Это где я встретив вопросы, как я получаю следующее предупреждение от Xcode:

URGENT: building for iOS simulator, but linking against dylib (/Users/me/Documents/old/Developer/Calc/Calc/libCalcOS.dylib) built for OSX. Note: This will be an error in the future.

Построение приложения и работает это приводит к аварии на приложение запуска со следующей ошибкой:

dyld: Library not loaded: @rpath/libCalcOS.dylib Referenced from: /Users/me/Library/Developer/CoreSimulator/Devices/80285643-3064-4F0A-B921-90060F6A998F/data/Containers/Bundle/Application/B6BAAB1D-ABF4-4D0D-82CD-CFD243DEE622/Calc.app/Calc Reason: image not found

Мне повезло, что я должен скомпилировать файл .dylib для устройств arm64, чтобы он работал с iOS, однако я не уверен, как это сделать в CLion или CMake. Любые указатели будут оценены!

ответ

0

Скачать Набор инструментов: https://github.com/cristeab/ios-cmake

В вашей библиотеки CMakeLists.txt, установите следующий построить для ARM7:

SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -arch armv7") 
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -arch armv7") 

Затем вы можете использовать его, запустив:

cmake -DCMAKE_TOOLCHAIN_FILE=path_to_the_toolchain 
Смежные вопросы