相关疑难解决方法(0)

如何为Android和iOS使用相同的C++代码?

NDK的 Android 支持C/C++代码和iOS,Objective-C++也支持,那么我如何用Android和iOS之间共享的本机C/C++代码编写应用程序?

c++ java java-native-interface cross-platform objective-c++

115
推荐指数
2
解决办法
3万
查看次数

使用CMake编译iOS版

我使用CMake作为构建工具编译了一个C++静态库,我想将它链接到我的iOS应用程序.
我在Xcode中创建了一个简单的"Empty"应用程序,并将我的库libengine.a链接到它.
我试图编译我的iOS项目,链接器给了我这个警告:

ignoring file /Users/.../build/engine/libengine.a, 
file was built for archive which is not the architecture being linked (i386):
/Users/.../build/engine/libengine.a
Run Code Online (Sandbox Code Playgroud)

据我所知,我需要为ARM处理器编译我的库.问题是我不知道怎么做.
我认为CMake真的缺乏很好的教程.
无论如何,我的CMake脚本附在下面.

任何帮助将不胜感激.
谢谢,塔尔.

这是我的主要CMake脚本:

cmake_minimum_required(VERSION 2.8)

project(movie-night)

if (DEFINED PLATFORM)
    include(toolchains/ios.cmake)
endif()

add_definitions(-Wall)

set(DEBUG)

if (DEFINED DEBUG)
    add_definitions(-g)
endif()

if (DEFINED RELEASE)
    add_definitions(-O3)
endif()

add_subdirectory(engine)
add_subdirectory(ui)

add_subdirectory(test)
Run Code Online (Sandbox Code Playgroud)

这是我的toolchains/ios.cmake文件:

set(CMAKE_SYSTEM_NAME Darwin)
set(CMAKE_SYSTEM_PROCESSOR arm)
Run Code Online (Sandbox Code Playgroud)

c++ arm compilation cmake ios

13
推荐指数
2
解决办法
2万
查看次数