La compilation pour iOS avec CMake
J'ai compilé en C++ statique de la bibliothèque en utilisant CMake comme mon outil de renforcement et je veux le lien de mon application iOS.
J'ai créé un simple "Vide" de l'application dans Xcode et lié à ma bibliothèque appelée libengine.un.
J'ai essayé de compiler mon projet iOS et l'éditeur de liens m'a donné cet avertissement:
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
Comme je le comprends, j'ai besoin de compiler ma bibliothèque pour les processeurs ARM. Le problème est que je ne sais pas comment.
Je pense que CMake vraiment en manque de bons tutoriels.
De toute façon, mon CMake scripts ci-dessous.
Toute aide serait grandement appréciée.
Merci, Tal.
Voici ma principale CMake script:
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)
Voici mon toolchains/ios.cmake fichier:
set(CMAKE_SYSTEM_NAME Darwin)
set(CMAKE_SYSTEM_PROCESSOR arm)
OriginalL'auteur Tal Zion | 2012-09-27
Vous devez vous connecter pour publier un commentaire.
Il suffit d'utiliser cette chaîne de traitement du fichier: http://code.google.com/p/ios-cmake/ et l'utiliser comme
Puis, dans
CMakeLists.txt
:Voici un peu plus récentes de la fourche de la chaîne de compilation: github.com/cristeab/ios-cmake je suis tombé sur un couple de bugs avec l'ancienne version ont été corrigés dans cette
OriginalL'auteur dreamzor
Il y a une deuxième version de l'iOS.cmake situé à:
https://ceres-solver.googlesource.com
Remarque: il se peut que les deux versions de l'iOS.cmake ne fera que renforcer x86 versions de votre projet. CMake définit désormais CMAKE_OSX_SYSROOT à l' (le plus récent) Mac OS X SDK disponible sur votre système. Vous pouvez résoudre ce problème en modifiant votre copie de iOS.cmake pour définir toujours CMAKE_OSX_SYSROOT. Vous pouvez le faire en commentant quelques lignes votre copie de iOS.cmake:
OriginalL'auteur russes