Я уже установил HDF5 под Ubuntu:
sudo apt install libhdf5-dev
У меня есть программа Qt, использующая HDF5, которая прекрасно компилируется под CentOS 7, но не под Ubuntu:
ошибка: hdf5.h: Нет такого файла или каталога #include
^ ~~~~~~~
Я использую CMake для генерации файлов сборки, и в нем мне не нужно было обрабатывать HDF5 для сборки CentOS.
Я добавил эту часть, которую нашел в Интернете, в скрипт CMake, но у меня все еще есть ошибка компиляции.
FIND_PACKAGE(ZLIB)
FIND_LIBRARY(HDF5_LIBRARY hdf5 ...)
FIND_LIBRARY(HDF5_HL_LIBRARY hdf5_hl ...)
IF(NOT TARGET hdf5 AND NOT TARGET hdf5_hl)
ADD_LIBRARY(hdf5 SHARED IMPORTED)
ADD_LIBRARY(hdf5_hl SHARED IMPORTED)
ENDIF()
SET_TARGET_PROPERTIES(hdf5 PROPERTIES IMPORTED_LOCATION ${HDF5_LIBRARY})
SET_TARGET_PROPERTIES(hdf5_hl PROPERTIES IMPORTED_LOCATION
${HDF5_HL_LIBRARY})
SET(HDF5_LIBRARIES hdf5 hdf5_hl ${ZLIB_LIBRARIES} m)
Что я могу добавить в скрипт, чтобы исправить проблему включения?
с помощью "locate" я нашел другой hdf5.h:
/usr/include/hdf5/mpich/hdf5.h
/usr/include/hdf5/openmpi/hdf5.h
/usr/include/hdf5/serial/hdf5.h
Я действительно хочу знать, что означает "libhdf5-dev"? и почему HDF5 не предоставляется правильно под Ubuntu (это безумие!)