標籤:
朱金燦
來源: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上的編譯