Проблемы компиляции libf2c с последней версией mingw-get-inst (3.16.11), gcc - PullRequest
2 голосов
/ 05 апреля 2011

Я пытаюсь перенести очень старый код на Фортране в Windows.Я хотел бы использовать mingw и f2c, у которых нет проблем с преобразованием кода в пригодный для использования C на OS X и Ubuntu.Я использовал f2c.exe, распространяемый netlib на новой установке mingw, и он отлично перевел код.У меня есть «портированная» версия libf2c, которая, кажется, все еще содержит некоторые неразрешенные ссылки - в основном процедуры ввода-вывода файлов (do_fio, f_open, s_wsfe, e_wsfe) и, в частности, одну арифметическую процедуру (pow_dd).Чтобы решить эти проблемы, я попытался собрать libf2c из source , но столкнулся с проблемой во время процесса make.Make переходит к dtime_.c, но затем терпит неудачу из-за зависимости от sys/times.h, которая больше не является частью дистрибутива mingw.Кажется, есть struct, определенный в times.h, который определяет размер переменной в dtime_.c, в частности t и t0 в строках 53 и 54 (ошибка - это "размер хранилища 't' isn"t известно "; то же самое для t0).

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *.Я уверен, что, как только у меня будет правильно скомпилированный libf2c, я смогу связать его с gcc, и код будет работать так же, как на linux и os X.

ПОСЛЕДУЮЩАЯ: Мне удалось построить libf2c.a, закомментировав файлы, связанные со временем, в makefile (мой код не содержит никаких функций, связанных со временем, поэтому не думаю, что это будет иметь значение).Я скопировал его в каталог поиска, отличный от POSIX, как показано в -print-search-dirs, в частности C: \ MinGW \ lib \ gcc \ mingw32 \ 3.4.5.Кажется, это решило проблему с неразрешенными ссылками, хотя необходимость устранения временных файлов меня беспокоит.Пока мой код работает, оригинальный вопрос стоит - как обращаться с make-файлами, которые вызывают в Mingw sys/times.h?

1 Ответ

0 голосов
/ 05 апреля 2011

Вы уверены, что установка MinGW прошла правильно?Насколько я могу судить, заголовок sys/times.h все еще там, в пакете mingwrt-3.18-mingw32-dev.tar.gz.Я не знаком с установщиком графического интерфейса, но, возможно, вам нужно поставить галочку для компонента mingwrt dev.

...