Windows Intel Fortran编译netCDF-Fortran
Windows Intel Fortran编译netCDF-Fortran
步骤
下载安装预编译的netCDF-C https://docs.unidata.ucar.edu/netcdf-c/current/winbin.html 假设安装在了
C:\Libs\netCDF-c\4.9.1
在nerCDF-Fortran的GitHub主页下载最新的Release https://github.com/Unidata/netcdf-fortran/releases/tag/v4.6.0
解压源代码到
C:\Libs\netCDF-fortran\source
从开始菜单打开
Intel oneAPI command prompt for Intel 64 for Visual Studio 2022
使用cmake生成项目。注意cmake参数中路径分隔符不要用反斜杠
\
假设我们要安装到C:/Libs/netCDF-fortran/Debug
目录下cd C:\Libs\netCDF-fortran\ cmake -S source -B build-debug -DnetCDF_LIBRARIES=C:/Libs/netCDF-c/4.9.1/lib/netcdf.lib -DnetCDF_INCLUDE_DIR=C:/Libs/netCDF-c/4.9.1/include -DCMAKE_INSTALL_PREFIX=C:/Libs/netCDF-fortran/Debug
编译生成
netcdff
cmake --build build-debug --target netcdff netcdff_c --config Debug
手动生成
netcdff.lib
cd build-debug\fortran lib netcdff.dir\Debug\*.obj netcdff_c.dir\Debug\netcdff_c.lib /out:Debug\netcdff.lib
编译生成测试。正常情况下,生成失败数应该是0。
cd ..\..\ cmake --build build-debug --target ALL_BUILD --config Debug
执行安装命令,会安装到第5步指定的
-DCMAKE_INSTALL_PREFIX=
目录下cmake --build build-debug --target INSTALL --config Debug
总结
第五步的指定
netCDF_LIBRARIES
和netCDF_INCLUDE_DIR
很关键,不然cmake找不到netcdf-c,会报错netcdf-c version 4.7.4 or greater is required
第7步的手动生成
netcdff.lib
很关键。应该是项目的bug,编译netcdff时不会在Debug目录中生成netcdff.lib
,会导致最终安装的文件没有该链接库文件,并且测试项目也不会通过(因为需要链接这个库文件,会报错fatal error LNK1104: 无法打开文件“..\fortran\Debug\netcdff.lib”
)cmake默认编译的是Debug版本,Release版本的编译方法如下(不再详细解释)
cd C:\Libs\netCDF-fortran\cmake -S source -B build-release -DCMAKE_BUILD_TYPE:STRING=RELEASE -DnetCDF_LIBRARIES=C:/Libs/netCDF-c/4.9.1/lib/netcdf.lib -DnetCDF_INCLUDE_DIR=C:/Libs/netCDF/4.9.1/include -DCMAKE_INSTALL_PREFIX=C:/Libs/netCDF-fortran/Releasecmake --build build-release --target netcdff netcdff_c --config Releasecd build-release\fortran lib netcdff.dir\Release\*.obj netcdff_c.dir\Release\netcdff_c.lib /out:Release\netcdff.libcd ..\..\ cmake --build build-release --target ALL_BUILD --config Release cmake --build build-release --target INSTALL --config Release
测试
在Visual Studio 新建一个fortran项目
- 在
项目
->属性
->Fortran
->Additional Include Directories
,添加C:\Libs\netcdf-fortran\Debug\inlude\Debug
- 在
项目
->属性
->Linker
->Additional Library Directories
,添加C:\Libs\netCDF-fortran\Debug\lib
和C:\Libs\netCDF-c\4.9.1\lib
- 在
项目
->属性
->Linker
->Input
->Additional Dependencies
,填写netcdff.lib netcdf.lib
PROGRAM testnc
USE netcdf
IMPLICIT NONE
INTEGER :: ncid, status
CHARACTER(len=*),parameter:: ncfile = "C:\Datasets\OSTIA\202202\20220201120000-UKMO-L4_GHRSST-SSTfnd-OSTIA-GLOB-v02.0-fv02.0.nc"status = nf90_open(ncfile, nf90_nowrite, ncid)call list_all_var(ncid)
END PROGRAMSUBROUTINE list_all_var(fid)
USE netcdf
IMPLICIT NONE
INTEGER, Intent(IN) :: fid
INTEGER :: nVars, res, varid
CHARACTER(len=20)::var_name
res = nf90_inquire(fid, nVariables=nvars)
PRINT *,"所有变量:"
DO varid=1, nVarsres= nf90_inquire_variable(fid,varid,name=var_name)print *, varid,". ",var_name
END DO
END SUBROUTINE
Windows Intel Fortran编译netCDF-Fortran相关推荐
- 在VSCode中使用Compaq Visual Fortran编译运行Frotran程序
本片文章主要是为了使用VSCode编译运行带QuickWin库的老版本Fortran代码. 一.准备工作 安装VSCode和Compaq Visual Fortran6.6,相关安装方法在网上找. 二 ...
- Intelnbsp;Fortran安装netcdf库amp;n…
一直头痛于win7下的compaq fortran兼容性问题,安装intel fortran 10.1 + vs2008,接下来遇到了,compaq fortran 安装netcdf库的方法,无 ...
- Fortran 编译提示 Error:This USE statement is not positioned correctly within the scoping unit.
问题: fortran编译出现错误 Error:This USE statement is not positioned correctly within the scoping unit. 解决问题 ...
- mysql netcdf_Linux下用Intel编译器编译安装NetCDF-Fortan库(4.2以后版本)
本来这个问题真的没必要写的,可是真的困扰我太久%>_ 首先,最权威清晰的安装文档还是官方的: 那这个文档最开始就告诉我们,自NetCDF库4.2版本以后,Fortran的库和C的库就要分开bui ...
- 使用VS2019+Intel OneAPI (ifort)+Intel MPI编译和运行MPI程序与Coarray程序
使用VS2019+Intel OneAPI (ifort)+Intel MPI编译和运行MPI程序与Coarray程序 一.安装环境 安装vs2019 安装Intel OneAPI Base Tool ...
- Compaq Visual Fortran 6.6 (Fortran编译器)
Compaq Visual Fortran 6.6 (Fortran编译器) 注册码:33106-060-1186591-00003 Visual Fortran 6.6为Fortran编译器类,Co ...
- 乐鑫esp8266学习rtos3.0笔记:如何在 windows 用 CMake 编译 ESP8266 项目。
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 基于C SDK的ESP8266开发技术全系列笔记 一.N ...
- Qt最新版5.14在Windows环境静态编译安装和部署的完整过程 VS 2019-Qt static link build Windows 32 bit/64 bit
文章目录 为什么要静态编译(static link) 1.源码下载/source code download 2. 编译工具下载/compiler download 编译环境选择:MinGW/MSVC ...
- Qt最新版5.13在Windows环境静态编译安装和部署的完整过程(VS 2017/VS 2019)
文章目录 为什么要静态编译 1.源码下载 2. 编译工具下载 ActivePerl Python Ruby 编译环境选择 3.编译 1.修改源码里的qtbase\mkspecs\common\msvc ...
最新文章
- Linux下的一个图形管理工具webmin
- BCH零确认和比特币RBF该怎么选?
- AD5933阻抗模块测量值校正
- 代码农民从做事情的经验
- c++判断数字是否为3的倍数的算法实现(附完整源码)
- [转]MSBuild入门
- 使用Dotfuscator混淆winphone8应用XAP
- Telink Mesh 开发(1)调试log打印
- csdn如何上传附件
- 谷歌街景地图推出“时光机”功能
- C. New Year Ratings Change
- u3d:200个插件免费分享
- 腾讯互娱面经-游戏客户端开发
- 16进制颜色代码对照表
- 是否使用安全模式启动word
- Arturia黑五促销,仅剩一天
- Java对象大小内幕浅析
- 乐高拉力机器人图纸_乐高MOC图纸分享:乐高MINI机器人制作教程(图文版)
- 一文看懂中国的运营商入库认证(中国联通入库指南)
- Google帝国的接班人,凭什么是他?