gpt4 book ai didi

c++ - 使用 CMake 为 iOS 编译

转载 作者:IT老高 更新时间:2023-10-28 22:59:45 34 4
gpt4 key购买 nike

我使用 CMake 作为我的构建工具编译了一个 C++ 静态库,我想将它链接到我的 iOS 应用程序。
我在 Xcode 中创建了一个简单的“空”应用程序,并将名为 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

据我了解,我需要为 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)

这是我的工具链/ios.cmake 文件:

set(CMAKE_SYSTEM_NAME Darwin)
set(CMAKE_SYSTEM_PROCESSOR arm)

最佳答案

只需使用此工具链文件:http://code.google.com/p/ios-cmake/并将其用作

cmake -DCMAKE_TOOLCHAIN_FILE=path_to_your_toolchain_file

然后,在CMakeLists.txt中:

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

关于c++ - 使用 CMake 为 iOS 编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12630970/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com