netcdf源码在windows上的编译

Posted clever101

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了netcdf源码在windows上的编译相关的知识,希望对你有一定的参考价值。

作者:朱金灿

来源:http://blog.csdn.net/clever101

 

        今天搞搞netcdf源码在windows上的编译,折腾了半天,算是搞成了,特地记录一下过程。我的目标是要生成netcdf的工程文件。netcdf依赖于hdf5、zlib和curl这三个库。

       首先在HDF5 Source Code下载最新的hdf5源码,然后使用CMake来生成编译hdf5的解决方案,如下图:


再下载netcdf的源码:NetCDF Downloads,开始使用CMake来生成netcdf的解决方案,如下图:


单击configure按钮后出现错误:

CMake Error at CMakeLists.txt:525(FIND_PACKAGE):

 Could not find a package configuration file provided by "HDF5"with any of

  thefollowing names:

 

   HDF5Config.cmake

   hdf5-config.cmake

 

这时需要配置hdf5的cmake的路径,具体如下图:

然后再配置zlib的路径,找到netcdf-4.4.0\\cmake\\modules\\FindZLIB.cmake,修改其中的

FIND_PATH(ZLIB_INCLUDE_DIR zlib.h

       "E:\\\\ThirdPartyBuild\\\\zlib-1.2.8"   # 指定zlib.h的路径

   PATHS

       $ENV{ZLIB_ROOT}

   PATH_SUFFIXES

       include

)

 

SET(ZLIB_NAMES z zlib zdll zlib1 zlibdzlibd1)

FIND_LIBRARY(ZLIB_LIBRARY

   NAMES

       ${ZLIB_NAMES}

   PATHS

       "E:\\\\ThirdPartyBuild\\\\zlib-1.2.8\\\\vs\\\\Release"# 指定zlib的库文件的路径

       $ENV{ZLIB_ROOT}

   PATH_SUFFIXES

       lib

)

去除netcdf-4.4.0\\CMakeLists.txt关于curl库的设置(为什么要去掉?因为我找了半天,没有找到设置curl库的cmake文件),具体是

#  IF(NOT CURL_LIBRARY)

#   MESSAGE(FATAL_ERROR "DAP Support specified, CURL libraries are notfound.")

# ENDIF()

 

# add_subdirectory(liblib)

两处注释掉。

 

       然后单击Configure和Generate两个按钮就可以生成netCDF的工程文件了。生成的netCDF.sln下面的工程netcdf3和netcdf4是编译netcdf库的工程文件。

以上是关于netcdf源码在windows上的编译的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 上将 NetCDF 转换为 HDF5 的最简单方法是啥

每年绘制 X 轴上的月份和来自 NetCDF 的 Y 轴上的变量

编译与 netcdf 关联的程序时 Dwarf 版本出错

VS2008编译GDAL 1.8.1(转)

尝试在 Windows 8 上安装 netCDF4 时出现“需要 Python 版本 2.7,在注册表中找不到”错误

在 Visual Studio 上的 C++ 项目中将 NetCDF(通过 vcpkg 安装)与 CMake 一起使用时未解析的外部符号