我使用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链接?
答案 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可以做到这一点。转换代码当然是可行的,但绝不是必需的。
尼尔斯