zoukankan      html  css  js  c++  java
  • windows netcdf vs 配置

    程序中添加的头文件是netcdfcpp.h文件
     
    **************************************************************************************************
    使用的netcdf的c++接口版本是netcdf-cxx4-4.2.tar.gz,下载地址:http://www.unidata.ucar.edu/downloads/netcdf/netcdf-cxx/index.jsp
    **************************************************************************************************
     
     
    **************************************************************************************************
    netcdf的C++接口是基于netcdf的C语言接口,所以在使用c++接口之前,我们需要安装netcdf的c语言版本。
    使用的netcdf的C语言版本是NetCDF-4.2.1,下载地址:http://www.unidata.ucar.edu/software/netcdf/docs/winbin.html
    这个版本是二进制版本,直接点击安装即可,然后会得到include,lib和bin等几个文件。
    **************************************************************************************************
     
     
     
    使用方法:
    1.首先解压这个压缩文件;
    2.将解压后的文件中的cxx4文件夹中的netcdf文件改为netcdfcpp.h;
    3.我们需要用的是cxx4文件夹中的所有的.h和.cpp文件;
    **************************************************************************************************
    注意:不使用hdf5的话,ncFile.cpp文件需要做改动:去掉红色前面的NC_NETCDF4
    case NcFile::newFile:
          ncCheck(nc_create(filePath.c_str(),  NC_NOCLOBBER, &myId),__FILE__,__LINE__);
          break;
    case NcFile::replace:
          ncCheck(nc_create(filePath.c_str(),  NC_CLOBBER, &myId),__FILE__,__LINE__);
          break;
    **************************************************************************************************
    4.将所有的.h和.cpp文件添加到你的工程目录下即可,分别添加到工程头文件和源文件中,在VS项目属性——VC++目录——包含目录,添加.h头文件所在的位置即可。
    5.将netcdf的c语言的头文件netcdf.h,动态链接库netcdf.dll和库文件netcdf.lib添加到VS2010中。
    如何添加动态链接库:
    a.将netcdf的c语言版本的include,lib和bin文件添加到工程目录下;
    b.VS中项目属性——链接器——常规——附加库目录,这里添加你的bin文件中的netcdf.dll路径;
    c.VS中项目属性——链接器——输入——附加依赖项,这里添加netcdf.lib库文件;
    d.VS中项目属性——VC++目录——包含目录,添加netcdf.h头文件的位置;
    e.VS中项目属性——VC++目录——库目录,添加netcdf.lib库文件的位置。
     
    测试成功与否:注意添加的头文件netcdfcpp.h
    1.首先创建***.nc文件:
    #include <iostream>
    #include "netcdfcpp.h"
    #include <vector>
    using namespace std;
    using namespace netCDF;
    using namespace netCDF::exceptions;
     
    static const int NX = 6;
    static const int NY = 12;
     
    static const int NC_ERR = 2;
     
    int main()
    {
      int dataOut[NX][NY];
     
      for(int i = 0; i < NX; i++)
        for(int j = 0; j < NY; j++)
          dataOut[i][j] = i * NY + j;
     
      try
        {  
          NcFile dataFile("simple_xy.nc", NcFile::replace);
     
          NcDim xDim = dataFile.addDim("x", NX);
          NcDim yDim = dataFile.addDim("y", NY);
     
          vector dims;
          dims.push_back(xDim);
          dims.push_back(yDim);
          NcVar data = dataFile.addVar("data", ncInt, dims);
     
          data.putVar(dataOut);
     
          return 0; 
        }
      catch(NcException& e)
        {e.what();
          return NC_ERR;
        }
    }
     
    2.读取刚创建的***.nc文件:
     
     
    #include
    #include "netcdfcpp.h"
    using namespace std;
    using namespace netCDF;
    using namespace netCDF::exceptions;
     
    static const int NX = 6;
    static const int NY = 12;
     
    static const int NC_ERR = 2;
     
    int main()
    {
       try
       {
       int dataIn[NX][NY]; 
     
       NcFile dataFile("simple_xy.nc", NcFile::read);
     
       NcVar data=dataFile.getVar("data");
       if(data.isNull()) return NC_ERR;
       data.getVar(dataIn);
     
       for (int i = 0; i < NX; i++)
          for (int j = 0; j < NY; j++)
    if (dataIn[i][j] != i * NY + j)
      return NC_ERR;
     
       return 0;
       }catch(NcException& e)
         {
           e.what();
           cout<<"FAILURE*************************************"<<endl;
           return NC_ERR;
         }
    }
     
     
    欢迎大家来我的新家看一看 3wwang个人博客-记录走过的技术之路
  • 相关阅读:
    【java】对象赋值给另一个对象
    spring boot系列(五)spring boot 配置spring data jpa (查询方法)
    Spring Data JPA 查询
    Spring Data JPA 介绍
    OpenID简介
    OAUTH协议介绍
    URL encoding(URL编码)
    RESTful 介绍
    spring boot系列(四)spring boot 配置spring data jpa (保存修改删除方法)
    spring boot 启动报 java.lang.NoClassDefFoundError: ch/qos/logback/core/spi/LifeCycle 错误
  • 原文地址:https://www.cnblogs.com/wang985850293/p/6576533.html
Copyright © 2011-2022 走看看