c++ - Autotools 条件包含

标签 c++ c makefile autotools

我有一个包含标题的 C 文件。此 header 位于不同位置,具体取决于构建机器运行的 Linux 发行版。

使用 autotools 在不同位置检测 header 的最简洁方法是什么?

最佳答案

使用标准AC_CHECK_HEADERS宏。

它将为 header 创建正确的预处理器定义。

例如:

AC_CHECK_HEADERS([somepath/foo.h someotherpath/foo.h])

将创建预处理器定义 HAVE_SOMEPATH_FOO_HHAVE_SOMEOTHERPATH_FOO_H,具体取决于找到的 header 。或者如果两个 header 都找到了。使用这些宏来决定要包含哪个 header 。

关于c++ - Autotools 条件包含,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15655588/

相关文章:

c++ - lua_sethook 是否在已注册的 C 函数中触发?

c++ - Try/Catch block 替换了析构函数中的方法 block

c - 了解 mpreferred-stack-boundary=number

makefile - autogen.sh 不(重新)生成 po/Makefile.in.in

C makefile 和头文件混淆

c++ - 改进 malloc() 算法的下一步是什么?

c++ - 对 STL 容器中基类的 dynamic_cast 引用

c - C 中的结构名称标准

c - linux中模块的调试

c - 将大型 C 程序分解为头文件和 C 文件