Windows Intel Fortran编译netCDF-Fortran
在Windows下使用Intel Fortran 编译netcdf-fortran库,实现用Fortran语言读写netCDF文件
Windows Intel Fortran编译netCDF-Fortran
2025年3月29日更新:
- 移除新版netcdf-fortran已经不需要的步骤
- CMake指定Ninja作为生成器提升编译速度
附一份编译好的库文件,有需要的同学可以自取☞蓝奏云:https://wwyo.lanzouu.com/ikQku2s1pvjc
编译和测试平台:Windows11、Intel Fortran Compiler 2024.2.0.424、VS2022
顺便说:
- 使用AMD CPU的同学需要额外安装Intel Fortran Compiler runtime才能正常使用Intel Fortran Compiler,不想去官网下载的同学可以自取☞蓝奏云:https://wwyo.lanzouu.com/iDH5Z2s23y7c
- 我用Intel Fortran Compiler 2025执行CMake会出现找不到Fortran编译器的问题,两种解决方案:一是手动安装使用最新版的cmake(目前是4.0),二是安装2023或2024版本的Intel Fortran Compiler,现在官网已经下载不到老版本的安装包了,但可以从这里找到:https://github.com/KaranKad/winget-pkgs/tree/90723dae495070c4cedce8e4f902a7c6b2dbb344/manifests/i/Intel/FortranCompiler
- 祝大家能都享受到Fortan带来的运算效率的提升。
步骤
-
下载安装预编译的netCDF-C https://downloads.unidata.ucar.edu/netcdf/,目前(2025年3月29日)最新版的是netCDF4.9.3-NC4-DAP-64.exe。 假设安装在了
C:\myLibs\netcdf-c\
-
在netCDF-Fortran的GitHub主页下载最新的Release https://github.com/Unidata/netcdf-fortran/releases/tag/v4.6.2
-
解压源代码到
C:\myLibs\netcdf-fortran\source
-
从开始菜单打开
Intel oneAPI command prompt for Intel 64 for Visual Studio 2022
-
使用cmake生成项目。注意cmake参数中路径分隔符不要用反斜杠
\
假设我们要安装到C:/myLibs/netcdf-fortran/Debug
目录下cd C:\myLibs\netCDF-fortran\ cmake -S source -B build-debug -G Ninja -DnetCDF_LIBRARIES=C:/myLibs/netcdf-c/lib/netcdf.lib -DnetCDF_INCLUDE_DIR=C:/myLibs/netcdf-c/include -DCMAKE_INSTALL_PREFIX=C:/myLibs/netcdf-fortran/Debug
-
编译。正常情况下,不会有错误出现。
cmake --build build-debug
-
执行安装命令,会安装到第5步指定的
-DCMAKE_INSTALL_PREFIX=
目录下cmake --install build-debug
总结
-
第五步的指定
netCDF_LIBRARIES
和netCDF_INCLUDE_DIR
很关键,不然cmake找不到netcdf-c,会报错netcdf-c version 4.7.4 or greater is required
-
cmake默认编译的是Debug版本,Release版本的编译方法如下(不再详细解释)
cd C:\myLibs\netcdf-fortran\ cmake -S source -B build-release -G Ninja -DCMAKE_BUILD_TYPE:STRING=RELEASE -DnetCDF_LIBRARIES=C:/myLibs/netcdf-c/lib/netcdf.lib -DnetCDF_INCLUDE_DIR=C:/myLibs/netcdf-c/include -DCMAKE_INSTALL_PREFIX=C:/myLibs/netcdf-fortran/Release cmake --build build-release cmake --install build-release
测试
在Visual Studio 新建一个fortran项目
- 在
项目
->属性
->Fortran
->Additional Include Directories
,添加C:\myLibs\netcdf-fortran\Debug\include
- 在
项目
->属性
->Linker
->Additional Library Directories
,添加C:\myLibs\netcdf-fortran\Debug\lib;C:\myLibs\netcdf-c\lib
- 在
项目
->属性
->Linker
->Input
->Additional Dependencies
,填写netcdff.lib netcdf.lib
- 在
项目
->属性
->Debugging
->Environment
,填写PATH=C:\myLibs\netcdf-fortran\Debug\bin;C:\myLibs\netCDF-c\bin
测试代码(感谢山丘0528提供的测试代码)
program main
use netcdf
implicit none
print *, "NetCDF version:", nf90_inq_libvers()
end program main
正常情况下会输出
NetCDF version:
4.9.3 of Feb 20 2025 16:14:34 $
这个方案时使用intel x64 的终端编译的,使用时一定要注意这里的x64,
更多推荐
所有评论(0)