提供给 ./configure 的 `ac_cv_func_malloc_0_nonnull` 是什么?
What is `ac_cv_func_malloc_0_nonnull` as provided to ./configure?
我正在与 mingw 交叉编译并得到这个错误:
undefined reference to `rpl_realloc'
在 some searching 之后,我发现这可以在 configure.ac 中解决,或者在调用 ./mingw64-configure 之前设置为环境变量:
ac_cv_func_malloc_0_nonnull=yes
ac_cv_func_realloc_0_nonnull=yes
是什么定义了这些宏,是否有关于该主题的文档?我找不到任何...
What defines these macros, and as there any documentation on the subject?
Autoconf 使用 ac_cv_
前缀作为它的“缓存变量”,它记录了它执行的配置测试的结果。如果多次请求相同的检查,这些允许它使用先前确定的结果而不是再次执行检查。
这些的一般命名约定分别记录在 in the Autoconf manual. The particular cache variable names you ask about are documented to cache the results of the Autoconf's AC_FUNC_MALLOC
and AC_FUNC_REALLOC
宏中。该文档还提到了 rpl_realloc
名称。
允许在 configure.ac
中使用这些变量以编程方式确定这些检查的结果,但直接为这些变量赋值是一个相对讨厌的 hack。然而,在这种特殊情况下,错误表明为您尝试构建的项目准备自动工具的人做得很草率。如果伪造缓存变量可以让您成功构建和运行程序,那么这是一个比实际修复项目更诱人且更容易的替代方法。
我正在与 mingw 交叉编译并得到这个错误:
undefined reference to `rpl_realloc'
在 some searching 之后,我发现这可以在 configure.ac 中解决,或者在调用 ./mingw64-configure 之前设置为环境变量:
ac_cv_func_malloc_0_nonnull=yes
ac_cv_func_realloc_0_nonnull=yes
是什么定义了这些宏,是否有关于该主题的文档?我找不到任何...
What defines these macros, and as there any documentation on the subject?
Autoconf 使用 ac_cv_
前缀作为它的“缓存变量”,它记录了它执行的配置测试的结果。如果多次请求相同的检查,这些允许它使用先前确定的结果而不是再次执行检查。
这些的一般命名约定分别记录在 in the Autoconf manual. The particular cache variable names you ask about are documented to cache the results of the Autoconf's AC_FUNC_MALLOC
and AC_FUNC_REALLOC
宏中。该文档还提到了 rpl_realloc
名称。
允许在 configure.ac
中使用这些变量以编程方式确定这些检查的结果,但直接为这些变量赋值是一个相对讨厌的 hack。然而,在这种特殊情况下,错误表明为您尝试构建的项目准备自动工具的人做得很草率。如果伪造缓存变量可以让您成功构建和运行程序,那么这是一个比实际修复项目更诱人且更容易的替代方法。