使用f2c后链接

时间:2010-07-13 19:34:18

标签: c linker fortran

我使用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 个答案:

答案 0 :(得分:2)

您必须安装libf2c2-dev软件包 - 但由于f2c软件包已经依赖它,您可能需要的只是将-lf2c添加到Makefile中。

答案 1 :(得分:2)

您是否使用gcc编译生成的C文件?然后将“-lf2c -lm”添加到gcc编译命令。

为什么不用Fortran编译器编译,比如gfortran?它很容易用于Ubuntu。

答案 2 :(得分:1)

-lf2c -lm传递给将从对象创建可执行文件的行。你在Ubuntu上使用哪个编译器? GCC?

gcc -c fourier.c -lf2c -lm

可能就是这么简单。

答案 3 :(得分:0)

嗯 - 没有直接回答你的链接问题,但是:

因为您正在使用Linux:为什么不按原样编译fortran代码并直接将其与C代码链接? GCC可以做到这一点。转换代码当然是可行的,但绝不是必需的。

尼尔斯