Связывание после использования f2c - PullRequest
2 голосов
/ 13 июля 2010

Я использовал f2c для перевода огромной подпрограммы Fortran в C. Заголовок говорит следующее:

/* fourier.f -- translated by f2c (version 20090411).
   You must link the resulting object file with libf2c:
    on Microsoft Windows system, link with libf2c.lib;
    on Linux or Unix systems, link with .../path/to/libf2c.a -lm
    or, if you install libf2c.a in a standard place, with -lf2c -lm
    -- in that order, at the end of the command line, as in
        cc *.o -lf2c -lm
    Source for libf2c is in /netlib/f2c/libf2c.zip, e.g.,

        http://www.netlib.org/f2c/libf2c.zip
*/

Я использую Ubuntu 10.04.Как я могу связать объектный файл с libf2c?

Ответы [ 4 ]

2 голосов
/ 13 июля 2010

Вы компилируете полученный C-файл с помощью gcc?Затем добавьте «-lf2c -lm» в команду компиляции gcc.

Почему бы не скомпилировать с помощью компилятора Фортрана, такого как gfortran?Это легко доступно для Ubuntu.

2 голосов
/ 13 июля 2010

Вам придется установить пакет libf2c2-dev - но поскольку пакет f2c уже зависит от него, все, что вам может понадобиться, это добавить -lf2c в ваш Makefile.

1 голос
/ 13 июля 2010

Передав -lf2c -lm в строку, которая создаст исполняемый файл из объектов.Какой компилятор вы используете в Ubuntu?GCC?

gcc -c fourier.c -lf2c -lm

Может быть так просто.

0 голосов
/ 13 июля 2010

Ну, нет прямого ответа на ваши проблемы с линковкой, но:

Поскольку вы работаете с Linux: почему бы вам не скомпилировать свой код Fortran как есть и напрямую связать его с C-кодом?GCC может сделать это.Преобразование кода, конечно, выполнимо, но это никоим образом не требуется.

Nils

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...