0

如何使用 APXS 作为编译器制作 GNU autoconf 脚本来测试 typedef 结构成员?

我已经定义了以下测试,但结果不是我所期望的......

AC_CHECK_MEMBER(struct conn_rec.remote_ip, define 'USE_CON_REC_REMOTE_IP',,[#include "httpd.h"]);
AC_CHECK_MEMBER(struct conn_rec.client_ip, define 'USE_CON_REC_CLIENT_IP',,[#include "httpd.h"]);
AC_CHECK_MEMBER(struct conn_rec.remote_addr, define 'USE_CON_REC_REMOTE_ADDR',,[#include "httpd.h"]);

即使我知道第一个测试和最后一个测试应该返回“是”,所有这些测试都返回“否”。我怀疑这可能是因为这些是 typedef 而不是结构,和/或因为 autoconf 没有使用 APXS 来运行测试。

完整代码位于https://github.com/rritoch/PikeVM/blob/master/root/boot/system-1.1/apache/configure.ac

我希望有一个预先存在的解决方案,不需要制作自定义测试脚本。

4

1 回答 1

1

AC_CHECK_MEMBER用于 C/C++ 编译器。有apxs 宏可帮助使用 apxs 设置编译。AC_CHECK_MEMBER翻译成适合apxs的宏应该不会太难。

于 2013-11-05T19:42:19.030 回答