我有一个包含标题的 C 文件。此 header 位于不同位置,具体取决于构建机器运行的 Linux 发行版。
使用 autotools 在不同位置检测 header 的最简洁方法是什么?
最佳答案
使用标准AC_CHECK_HEADERS
宏。
它将为 header 创建正确的预处理器定义。
例如:
AC_CHECK_HEADERS([somepath/foo.h someotherpath/foo.h])
将创建预处理器定义 HAVE_SOMEPATH_FOO_H
或 HAVE_SOMEOTHERPATH_FOO_H
,具体取决于找到的 header 。或者如果两个 header 都找到了。使用这些宏来决定要包含哪个 header 。
关于c++ - Autotools 条件包含,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15655588/