我正在编写自己的单元测试库(使用 autoconf、automake 和 libtool)以更好地满足我的需求(我不需要超大量的功能,只需要一个测试运行程序和断言)。我已经到了它似乎可以使用的地步。
当然,它使用 config.h 来确定要包含的标头。问题是我不确定 config.h 应该去哪里,因为它很容易与其他项目的 config.h 发生冲突,而且它依赖于架构。
我的安装此标头的方法应该是什么?(所有其他标题都需要它)
ax_prefix_config_h宏听起来像你想要的。它提供了一种创建另一个类似 config.h 的文件的方法,该文件包含前缀 config.h 信息。因此,例如,您将在 mylib_config.h 中获得 #define MYLIB_HAVE_SOMETHING 而不是 config.h 中的#define HAVE_SOMETHING。很方便。
无论如何,您不应该config.h
在库的界面中导出。
此链接显示了一种解决方法,如果您安装的标头确实,确实需要依赖于平台。这是一种使用过时的 autoconf 宏的脆弱方法。
您可以通过更改 AC_OUTPUT 宏来选择输出不同的配置文件,尽管我不确定您的项目将如何与其他项目集成。如果它是一个子项目,那么它无论如何都会在一个子目录中。