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源码编译)