ubuntu上编译fortran_在Ubuntu上编译Fortran netCDF程序

在Ubuntu上尝试使用gfortran编译netCDF示例程序simple_xy_wr.f90时遇到链接错误。已安装libnetcdf-dev,但编译命令返回多个undefined reference错误,如`__netcdf_MOD_nf90_strerror`等。尽管库文件似乎包含所需函数,但编译仍然失败。问题可能涉及链接器设置或库版本不匹配。
摘要由CSDN通过智能技术生成

好的,这里有新问题.

我正在尝试编译simple_xy_wr.f90 – 一个netCDF示例程序 – 在Ubuntu上使用gfortran,我必须做一些非常愚蠢的事情;我没有太多编译Fortran的经验.

首先,我已经安装了libnetcdf-dev软件包,其中包括类似的文件

/usr/lib/libnetcdf.a

/usr/lib/libnetcdff.a

/usr/include/netcdf.mod

所以,我试图用(各种命令)编译代码

f95 -o xy -I/usr/include/ -L/usr/lib/ -lnetcdff -lnetcdf simple_xy_wr.f90

我得到以下输出

/tmp/ccE6g7sr.o: In function `check.1847':

simple_xy_wr.f90:(.text+0x72): undefined reference to `__netcdf_MOD_nf90_strerror'

/tmp/ccE6g7sr.o: In function `MAIN__':

simple_xy_wr.f90:(.text+0x284): undefined reference to `__netcdf_MOD_nf90_create'

simple_xy_wr.f90:(.text+0x2b6): undefined reference to `__netcdf_MOD_nf90_def_dim'

simple_xy_wr.f90:(.text+0x2e8): undefined reference to `__netcdf_MOD_nf90_def_dim'

simple_xy_wr.f90:(.text+0x432): undefined reference to `__netcdf_MOD_nf90_def_var_manydims'

simple_xy_wr.f90:(.text+0x468): undefined reference to `__netcdf_MOD_nf90_enddef'

simple_xy_wr.f90:(.text+0x4aa): undefined reference to `__netcdf_MOD_nf90_put_var_2d_fourbyteint'

simple_xy_wr.f90:(.text+0x4cb): undefined reference to `__netcdf_MOD_nf90_close'

collect2: error: ld returned 1 exit status

我认为我包括了正确的库.例如.看来__netcdf_MOD_nf90_strerror应该在那里:

$nm /usr/lib/libnetcdff.a | grep __netcdf_MOD_nf90_strerror

000000000004a100 T __netcdf_MOD_nf90_strerror

我究竟做错了什么?

(FWIW,我看过的一些相关参考文献如下.

)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值