Linker 未找到符号-链接到hdf库

Linker 未找到符号-链接到hdf库,linker,hdf,Linker,Hdf,我正在尝试使用hdf5格式来存储数据。问题是,我无法链接到图书馆。我有以下代码 #include <H5Cpp.h> int main(void){ H5::H5File file("test_MatrixRoundTrip_Double.h5", H5F_ACC_TRUNC); } 这总是返回错误 Undefined symbols for architecture x86_64: "H5::FileAccPropList::DEFAULT", referenced

我正在尝试使用hdf5格式来存储数据。问题是,我无法链接到图书馆。我有以下代码

#include <H5Cpp.h>
int main(void){
    H5::H5File file("test_MatrixRoundTrip_Double.h5", H5F_ACC_TRUNC);
}
这总是返回错误

Undefined symbols for architecture x86_64:
  "H5::FileAccPropList::DEFAULT", referenced from:
  _main in main-c207d1.o
  "H5::FileCreatPropList::DEFAULT", referenced from:
  _main in main-c207d1.o
  "H5::H5File::H5File(char const*, unsigned int, H5::FileCreatPropList const&, H5::FileAccPropList const&)", referenced from:
  _main in main-c207d1.o
  "H5::H5File::~H5File()", referenced from:
  _main in main-c207d1.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我在OSX上安装了hdf5库,使用

brew install homebrew/science/hdf5

<>我在这里做了什么?

你包括了HDF5C++头文件,但是只连接了HDF5C库。添加行:<代码> -LHDF5YCPP</代码>链接C++共享对象,使用<代码>定位LBHDF5YCPP < /代码>查找LBPATH。< /P>为什么用GCC编译?你试过改用g++吗?g++也会产生同样的错误。我使用了以下命令
g++-std=c++11-o main.cpp-I/usr/local/include/-L/usr/local/lib/-lhdf5-lhdf5\u hl
。你能更详细地解释一下吗?FIY:我的HDF文件在位置'/Ur/Puthal/LIB’中。@ VivekBagaria:我建议不要使用C++绑定到HDF5,只使用C绑定。C++绑定并没有很好地维护。
brew install homebrew/science/hdf5