【发布时间】:2016-10-24 20:57:00
【问题描述】:
我已经开始学习 HDF5 并且无法通过 HDF5 C++ 的以下问题。
(背景信息:我已经通过 Homebrew 在 OSX El Capitan 上安装了 hdf5。我已经使用通用 C API 和 Python 模块 h5py 成功完成了一些程序,但 C++ API 无法正常工作。)
这是我的命令的一个示例:
h5c++ simple.cpp
我尝试编译但收到以下错误:
Undefined symbols for architecture x86_64:
"H5::H5File::H5File(...)" ...
"H5::CommonFG::createDataSet(...)" ...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
其他信息:
我包括 H5Cpp.h。我的印象是它是我需要包含的唯一文件。
起初,我认为 C++ 可能不会默认启用,尽管我在 the Homebrew formula 中读到了这些内容。作为仔细检查,我卸载并重新安装了--with-cxx(显然,这不起作用)。
这些错误真正告诉我什么?为什么我的 C++ HDF5 程序不起作用?有什么我应该知道的技巧吗?
【问题讨论】:
-
这些是链接器错误——您提供了哪些链接器(或编译器)选项?
-
@Soren 更新了问题。我已经尝试了各种方法,但只是最基本的 h5c++ 命令给出了相同的错误。