![](/img/trans.png)
[英]HDF5 C++ : I need get Group list, Dataset list, Attribute list in HDF5 file
[英]How do I compile a C++ file that uses both MPI and HDF5?
我正在创建 *.h5 文件,所以我一直在编译:
h5c++ -o output myFile.cpp
但是,我添加了 MPI 以加速其中一节中的代码。 同样的编译给了我一个未定义的参考错误。
undefined reference to `MPI_Init'
如何编译代码以便可以使用 MPI 和 HDF5?
您可以告诉 HDF5 包装器使用 MPI 包装器而不是您的 C++ 编译器。 例如,如果您的 MPI 包装器是mpiCC
,您可以简单地
export HDF5_CXX=mpiCC
export HDF5_CLINKER=mpiCC
[此答案已被编辑]
mpicc
和h5cc
(以及它们的 C++ 对应物)都不是编译器,而只是包装器,它们只会在编译器调用中添加一些标志。 这些标志通常包括链接库和包含路径。 您实际上可以检查它们!
$ mpicc --showme # OpenMPI
$ mpicc -show # MPICH
$ h5cc -show
所以你的问题的答案是:使用来自两个包装器的所有标志进行编译器调用。
然而,通常你应该把它留给像 CMake 这样的构建系统,它将组装所有相关的编译器标志。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.