Компиляция внешней библиотеки C++ (Octave) для iPhone (отсутствует компилятор Fortran?)

Мой друг спросил меня, можно ли перенести проект Octave на iPhone. . Раньше я не компилировал внешний пакет для проекта iPhone, поэтому скачал исходный код, а затем использовал несколько скриптов, найденных на нескольких разных веб-сайтах (один, два), чтобы попытаться собрать библиотеки. Однако, когда я пробую любой из этих сценариев (которые почти идентичны), они в конечном итоге умирают на этапе configure со следующим выводом ошибки:

[...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.

Проблема в том, что iPhone SDK/Xcode не включает кросс-компилятор Fortran, или я делаю что-то не так?


person Shaggy Frog    schedule 09.09.2009    source источник


Ответы (1)


iPhone SDK не включает компилятор FORTRAN. Последний продукт Apple на FORTRAN был предназначен для Apple ][, хотя сторонние компиляторы и/или компиляторы с открытым исходным кодом существовали для большинства систем, созданных Apple.

Вы можете настроить и собрать gfortran, но это будет PITA. Скорее всего, вам потребуется объединить изменения из настроенной Apple вилки GCC 4.2, найденной на iPhone здесь, с рецептом для создать его для Darwin, например это.

Вы можете попробовать f2c, как предлагает проект Octave.

person ohmantics    schedule 10.09.2009
comment
Вы сделали это сами? Просто интересно, есть ли какие-то конкретные шаги/инструкции/ловушки, о которых я должен знать в отношении f2c. Завтра утром попробую. - person Shaggy Frog; 11.09.2009
comment
Я знаю, что пользователи FORTRAN существуют, но для меня это просто еще один уровень в аркадной игре Tron. - person ohmantics; 16.09.2009