作者:朱金灿
来源: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库的工程文件。