0

(Windows OS) で PGI Visual Fortran を使用して、fortran (f90) ライブラリと実行可能ファイルで構成されるプロジェクト/ソリューションを構築しています。f90 ライブラリは netcdf.lib にリンクしています。f90 は正常にコンパイルおよびビルドされますが、実行可能ファイルにリンクしようとすると、次のエラーが発生します。

Compiling Project ...
Linking...
error LNK2019: unresolved external symbol nf_ _inq_varid_ referenced in function interpnwptools_checkcldliq_
error LNK2001: unresolved external symbol nf__inq varid
error LNK2019: unresolved external symbol nf_ strerror_ referenced in function エラー
エラー LNK2019: unresolved external symbol nf_ get_ att_関数
エラー LNK2001 で参照されている real_: 未解決の外部シンボル nf_ get_ att_ real_
エラー LNK2019: 関数 ncdf_module_openfile_ エラーで参照されている未解決の外部シンボル nf_ create_エラー LNK2019
: 未解決の外部シンボル nf_def_dim_ が関数 ncdf_module_openfile_ で参照されています

.
.
および nf_ 未解決のシンボルの他のすべての束。netcdf ライブラリが正しくリンクされているとは思えません。誰でも助けることができますか?私が使用しているプロジェクトには、MS VStudio 2003 を使用して自分で構築した netcdf 3.6.0-p1 が必要です。また、gfortran と eclipse を使用してプロジェクトを構築しようとしましたが、同じリンクの問題があります。以前に netcdf や fortran を使用したことがありません...何か提案はありますか?

4

2 に答える 2

1

あなたの疑惑は正しいです-NetCDFライブラリが正しくリンクされていません。それが適切に構築されていると仮定すると、ライブラリを見つける場所をVisualFortranに指示する必要があります。PGI-VFの作業はしていませんが、プロジェクトのプロパティページを編集できるようです。リンカの設定オプションを探してください。リンカが必要なライブラリを検索するディレクトリを追加できるはずです。リンカ入力オプションの追加の依存関係として、NetCDFライブラリ自体を指定する必要がある場合もあります。

于 2009-10-16T21:51:45.067 に答える
0

問題は、異なるコンパイラでビルドされた Fortran ライブラリが異なる呼び出し規則 (名前マングリング、引数の受け渡しなど) を使用しているため、(ほとんどの場合) 相互に互換性がないことだと思います。netcdf ライブラリのダウンロードとコンパイルの設定が正しいかどうかを確認してください。

于 2010-02-07T18:38:22.023 に答える