爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4565|回复: 1

总结Windows下C调用netcdf进行读取

[复制链接]

新浪微博达人勋

发表于 2018-4-17 20:33:41 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 3Esperanza 于 2018-4-18 19:46 编辑

       作为一个新手,之前跑WRF生成的nc文件想在Windows自己读取进行可视化,于是最近百度了一大堆,进行了试验,现总结一下,以备回顾
       最先读了一篇论文名叫《NetCDF 格式在 Windows 及 Linux 平台下的读写》,发现NetCDF提供了很多语言接口以供读取,决定用C进行调用,需要依赖于 netcdf.dll、libcurl.dll 和 zlib1.dll这 3 个 dll 文件,这 3 个文件可由 NetCDF 官网下载或 hdf 官网下载,同时还需下载 netcdf. dll 对应的 netcdf. lib 这个lib文件,而 libcurl.dll 和 zlib1.dll 对应的 lib 不需要。因为 libcurl.dll 和 zlib1.dll 是通过 netcdf.dll 调用其库函数的。
       于是去官网准备下,https://www.unidata.ucar.edu/downloads/netcdf/index.jsp,下exe可以直接安装,就可以得到所需的lib、include和bin文件夹,这是我下载的版本 https://www.unidata.ucar.edu/downloads/netcdf/ftp/netCDF4.6.1-NC4-64.exe
       准备用VS2013进行调用,建立了一个win32的C语言程序,找了一些如何把所需的文件链接到程序里,https://www.cnblogs.com/wang985850293/p/6576533.html里面讲解了,照着做了后,Ctrl+F5编译,出了很多错,查找发现是因为我把后缀改成c,所以又将程序后缀改成cpp,编译后又出错:错误        9        error LNK2019: 无法解析的外部符号 _nc_strerror,该符号在函数 _main 中被引用,类似于这样的错误,百度后发现是由于采用32Bit操作系统,打开配置管理器,将win32转换成x64重新编译就编译成功了,但又出现“无法启动此程序,因为计算机中丢失netcdf.dll。尝试重新安装该程序”的错误。现在正在找解决方案,看是哪出错了。找到后更新。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-4-17 22:02:31 | 显示全部楼层
解决啦!是系统里面缺少提示的动态链接库(.dll),只要从库里面把对应的dll文件添加就可以了。32位的只需要添加到“C:\Windows\System32”中,而64位还需要添加到“C:\Windows\SysWOW64”中,我一共添加了“netcdf.dll    hdf5.dll       hdf5_hl.dll     zlib1.dll      libcurl.dll ”这几个dll
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表