我试图用HDF5编写一个C++程序,但我在构建过程中遇到了困难。cmake似乎找不到HDF5库。下面是我尝试过的:
main.cpp:
#include <iostream>
#include <hdf5.h>
int main(){
std::cout << "Hello World" << std::endl;
}
字符串
CMakeLitsts.txt:
project(HelloWorld)
cmake_minimum_required(VERSION 3.27)
add_executable(hello_world main.cpp)
# what do I have to do here? The find_package(HDF5 REQUIRED) fails as it doesnt find the HDF5 library
include_directories(${HDF5_INCLUDE_DIRS})
find_package(HDF5 REQUIRED)
target_link_libraries( hello_world ${HDF5_CXX_LIBRARIES} ${HDF5_LIBRARIES})
型
运行cmake失败并显示错误消息
Could NOT find HDF5 (missing: HDF5_LIBRARIES HDF5_INCLUDE_DIRS) (found version "")
型
我在.local/hdf5
文件夹中下载并构建HDF5(我使用的是Ubuntu)使用
mkdir build
cd build
cmake ..
make
型
我错过了哪一步?我必须在另一个目录中构建它吗?
1条答案
按热度按时间jdg4fx2g1#
由于您在自定义位置构建了HDF5,因此您需要告诉CMake在哪里可以找到它。下面是如何修改CMakeLists.txt以包含HDF5安装路径:
字符串
将
/path/to/your/hdf5/installation
替换为HDF5安装目录的实际路径。这应该允许CMake找到HDF5库并包含目录。