是否有预处理器选项来检查 hdf5 的可用性?

Is there a preprocessor option to check for the availability of hdf5?

要打开 hdf5 支持,我目前在预处理器中

#define HDF5
#ifdef HDF5
    #include "hdf5.h"
#endif

这意味着,我必须手动激活 #define HDF5 行(如上面给出的代码片段)或取消激活它(通过删除它或在它前面放置注释字符)。有没有更好的东西,比如 #ifdef _HDF5 来检查我的编译器选项(使用 gcc)?

以openmp为例,我有

#ifdef _OPENMP
    #include <omp.h>
#endif

这意味着 omp.h 文件仅在设置了适当的编译器标志时才包含在内。我希望 hdf5 有类似的东西,但到目前为止什么也找不到。

GCC 有一个 -D 选项可以在代码之外创建处理器宏。

gcc -DHDF5 source.c

将使 #ifdef HDF5 为真。