2009-09-09 9 views
1

Un de mes amis m'a demandé s'il serait possible de porter le projet Octave sur l'iPhone. Je n'ai pas compilé de paquet externe pour un projet iPhone auparavant, j'ai donc téléchargé le code source, puis j'ai utilisé des scripts trouvés sur plusieurs sites Web différents (one, two) pour essayer de construire les bibliothèques. Cependant, lorsque je tente l'un de ces scripts (qui sont presque identiques), ils finissent par mourir pendant la phase configure avec la sortie d'erreur suivant:Compilation externe de la bibliothèque C++ (Octave) pour iPhone (compilateur Fortran manquant?)

[...snip checks...] 
checking whether we are using the GNU Fortran 77 compiler... no 
checking whether accepts -g... no 
checking how to get verbose linking output from ... configure: WARNING: compilation failed 

checking for Fortran 77 libraries of ... rm: conftest.dSYM: is a directory 

checking for dummy main to link with Fortran 77 libraries... rm: conftest.dSYM: is a directory 
none 
checking for Fortran 77 name-mangling scheme... configure: error: cannot compile a simple Fortran program 
See `config.log' for more details. 

Le problème est que l'iPhone SDK/Xcode ne comprend pas Fortran cross-compiler, ou est-ce que je fais quelque chose de mal?

Répondre

1

Le SDK iPhone n'inclut pas de compilateur FORTRAN. Le dernier produit FORTRAN d'Apple était pour Apple] [bien que des compilateurs tiers et/ou open source aient existé pour la plupart des systèmes développés par Apple.

Vous pouvez configurer et générer gfortran, mais il s'agira d'un PITA. Vous aurez probablement besoin de fusionner les modifications de la fourche GCC 4.2 personnalisée d'Apple trouvée sous l'iPhone here avec une recette pour la construire pour Darwin, comme this.

Vous pouvez essayer f2c comme le suggère le projet Octave.

+0

L'avez-vous fait vous-même? Je me demande simplement s'il y a des étapes/instructions/pièges spécifiques que je devrais connaître concernant f2c. Je vais essayer demain matin. –

+0

Je sais que les utilisateurs FORTRAN existent, mais pour moi, c'est juste un autre niveau dans le jeu d'arcade "Tron". – ohmantics

+0

Avez-vous eu ce travail? – codecowboy

Questions connexes