0

我在(Windows 操作系统)中使用 PGI Visual Fortran 构建一个由 fortran(f90)库和可执行文件组成的项目/解决方案。f90 库链接到 netcdf.lib。f90 可以编译和构建,但是当我尝试将其链接到可执行文件时,出现以下错误:

正在编译项目...
链接...
错误 LNK2019:函数 interpnwptools_checkcldliq_ 中引用的未解析的外部符号 nf_ _inq_varid_错误
LNK2001:未解析的外部符号 nf__inq 可变 错误 LNK2019:函数错误 错误中引用的未解析的外部符号 nf_strerror_ LNK2019:未解析的外部符号 nf_get_att_函数 错误 LNK2001中引用的 real_:未解析的外部符号 nf_get_att_real_ 错误 LNK2019:函数 ncdf_module_openfile_ 中引用的未解析的外部符号 nf_create_ 错误 LNK2019:函数 ncdf_module_openfile_ 中引用的 未解析的外部符号 nf_def_dim_ 。 .







.
和一大堆其他 nf_ 未解析的符号。我认为 netcdf 库没有正确链接。任何人都可以帮忙吗?我正在使用的项目需要 netcdf 3.6.0-p1,这是我使用 MS VStudio 2003 自己构建的。我也尝试使用 gfortran 和 eclipse 构建项目,但存在相同的链接问题。我以前从未使用过 netcdf 或 fortran ......有什么建议吗?

4

2 回答 2

1

您的怀疑是正确的 - NetCDF 库没有正确链接。假设它是正确构建的,您需要告诉 Visual Fortran 在哪里可以找到该库。我不做任何 PGI-VF 工作,但看起来您可以编辑项目的属性页。查找链接器的设置选项,您应该能够添加链接器将搜索所需库的目录。您可能还需要在链接器输入选项中将 NetCDF 库本身指定为附加依赖项。

于 2009-10-16T21:51:45.067 回答
0

我怀疑问题是使用/为不同编译器构建的 Fortran 库使用不同的调用约定(名称修改、参数传递等),因此彼此不兼容(在大多数情况下)。尝试查看您的 netcdf 库是否具有正确的下载和编译设置。

于 2010-02-07T18:38:22.023 回答