CMake的:如何避免在HDF5系统和畅达安装missmatch?

问题描述 投票:0回答:1

我有一个链接到HDF5库CMake的项目。在我的系统有两个版本HDF5:一是用系统的包管理器安装和一个与畅达安装。我想用畅达版本来构建我的项目。要做到这一点我用CMake的寻找与HDF5库

    find_package(HDF5 COMPONENTS CXX)

这定义了HDF5_INCLUDE_DIRS变量蛮好的畅达安装。然而,HDF5_CXX_LIBRARIES变量得到弄糟,包括路径都库路径。另外,系统的安装首先出现。所以,当我检查生成变量与ccmake的HDF_CXX_LIBRARY_hdf5 IST设置为畅达路径和HDF5_CXX_LIBRARY_hdf5_cpp被设置到系统路径,因此建筑时,我得到一个未定义的引用错误。改变与ccmake后者变量解决了这个问题。然而,这不是一个令人满意的解决方案。

有没有一种方法,以确保只有路径畅达库由CMake的?

c++ cmake conda hdf5
1个回答
0
投票

我能够通过设置HDF5_ROOT到CONDA_ROOT来解决问题。这样的CMake会先看看在畅达根目录为HDF5并确定正确的版本。

© www.soinside.com 2019 - 2024. All rights reserved.