做个备份
1.下载对应的NetCDF-C和C++库
选择64位的NetCDF4安装版(没有DAP的)
现在官网已经没有NetCDF-C 4.7.3 版本了,网上别人提供了新的下载地址:NetCDF各个版本(Index of /library/netcdf/unidata-mirror),其实我觉得最新版的NetCDF-C也行,没必要非要4.7.3 版本。
下载4.3.1的版本
2.项目属性配置
(1)安装exe及解压压缩文件,得到两个文件夹
(2)把netcdf-cxx4-4.3.1–>cxx4文件中的netcdf改名为netcdfcpp.h
(4)项目–>属性–>VC++目录–>包含目录 添加netcdf-cxx4-4.3.1中的cxx4文件夹和netCDF 4.7.3中的include文件夹
(5)项目–>属性–>VC++目录–>库目录 添加netCDF 4.7.3中的lib文件夹
(6)项目–>属性–>链接器–>常规–>附加库目录 添加netCDF 4.7.3中的bin文件夹
(7)项目–>属性–>链接器–>输入–>附加依赖项 输入netcdf.lib
(8)项目–>属性–>C/C+±->预编译头–>不使用预编译头
3.把cxx4文件中的xxx.h xxx.cpp复制到项目头文件和源文件中
(test_xxx是测试都不要)
4.添加以下:
#include “netcdfcpp.h”
using namespace netCDF;
using namespace netCDF::exceptions;
主函数:
NcFile dataFile(“nc文件的路径”, NcFile::read);
5.运行成功即配置成功
可能遇到的问题:
1.NcFile dataFile(“nc文件的路径”, NcFile::read);文件路径中的反斜杠都要换成正斜杠,"\\"也不行的
2.同样的配置方法在低版本VS中可能不能成功(2015可以一试)
3.缺少xxx.dll:在文件夹里找到对应文件复制到C:\Windows\system32下(我觉得很麻烦,只在编辑系统环境变量里面设置了)
4.error C4996: ‘strcpy’: This function or variable may be unsafe. Consider using strcpy_s instead.:项目–>属性–>C/C++>预处理器–>预处理器定义 添加_CRT_SECURE_NO_WARNINGS
6. 最重要的一步!!!
网上好多人反应都是按照步骤一步步来的,为什么还是报错?
真正的原因不是NetCDF4版本,而是需要把cxx4所有的cpp和.h包含在项目中编译!!!