2011-05-20 3 views
4

J'ai réussi à construire une bibliothèque C statique sur OSX en utilisant make sur la ligne de commande.Comment construire une bibliothèque statique iPhone basée sur un Makefile?

J'ai essayé d'utiliser le même Makefile (avec ARCHFLAGS=-arch armv6 -arch armv7) pour construire une bibliothèque statique pour iOS, mais il échoue avec:

gcc-4.2: error trying to exec '/usr/bin/arm-apple-darwin10-gcc-4.2.1': execvp: No such file or directory 

Je suppose que cela ne fonctionne pas parce que je suis à l'aide du SDK OSX faire au lieu d'une partie du SDK iOS. Des indices?

N.B. Pour plus de détails sur la bibliothèque en question (levmar) et pour le Makefile, veuillez vous référer au this Stack Overflow answer.

+0

avez-vous eu ce travail? J'ai essayé d'ajouter CC = llvm-gcc-4.2 et ARCHFLAGS = -arch armv6 -arch armv7 -arch armv7s mais j'ai eu des erreurs: llvm-gcc-4.2 -arch armv6 -arch armv7 -arch armv7s -O3 -funroll-loops -Wall -c -o lm.o lm.c llvm-gcc-4.2: erreur lors de l'exécution de '/usr/bin/../llvm-gcc-4.2/bin/arm-apple-darwin11-llvm-gcc-4.2': execvp : Aucun fichier ou répertoire de ce type llvm-gcc-4.2: erreur lors de l'exécution de '/usr/bin/../llvm-gcc-4.2/bin/arm-apple-darwin11-llvm-gcc-4.2': execvp: No un tel fichier ou répertoire - lors de la suppression d'archflags il compilé bien (mais pour 386) –

Répondre

1

Vous devez trouver:

  • l'emplacement du compilateur iOS
  • les options de ligne de commande qui sont utilisés dans la ligne de commande invocation

Le plus simple est de créer un test Application iPhone/iPad dans XCode, construisez-le, puis regardez le journal de construction pour trouver comment XCode appelle le compilateur.

+0

j'ai essayé de changer la directive cc = à clanger mais n'a pas pu compiler pour armer. eu des erreurs clang -arch armv7 -O3 -funroll-boucles -Wall -c -o lm.o lm.c Dans le fichier inclus de lm.c: 26: Dans le fichier inclus de /usr/include/stdio.h:67 : Dans le fichier inclus de /usr/include/_types.h:27: Dans le fichier inclus de /usr/include/sys/_types.h:33: /usr/include/machine/_types.h:34:10 : erreur irrécupérable: fichier 'arm/_types.h' introuvable #include "arm/_types.h". une idée sur la façon de résoudre cela? –

0

Pouvez-vous créer un projet Xcode et invoquer Xcode sur la ligne de commande ou à partir d'un script? Si vous ne voulez pas faire tout le possible pour maintenir un projet Xcode, une approche plus simple pourrait être d'utiliser CMake pour générer un projet Xcode, puis d'appeler Xcode sur la ligne de commande ou à partir d'un script. De cette façon, vous pouvez rester dans le domaine du fichier texte et du script tout le temps.

Questions connexes