3

我正在尝试为 Android 交叉编译一些东西,它具有 pthread 支持,但在编译和链接时不使用 -pthread。如果您尝试使用 -pthread,则使用交叉编译器的编译将失败。

当尝试通过首先使用“配置”工具来交叉编译某些东西时,它会一直尝试使用 -pthread 来执行“检查 gethostbyname”之类的操作,因此我的配置失败:

configure:21229: checking for gethostbyname
configure:21229: /mnt/hgfs/Documents/thesis/android-wmon/core/android-wireshark/agcc \
     -o conftest -D_U_="__attribute__((unused))" -g -O2 -Wall -W -Wextra \
     -Wdeclaration-after-statement -Wendif-labels -Wpointer-arith \
     -Wno-pointer-sign -Warray-bounds -Wcast-align -Wformat-security \
     -fexcess-precision=fast -I/usr/local/include -pthread \
     -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include \
     -I/usr/local/include  -Wl,--as-needed -L/usr/local/lib conftest.c  >&5
arm-eabi-gcc: error: unrecognized option '-pthread'

我找不到它从哪里拿起这个标志,以及如何让它停止这样做。我在任何地方的配置中都看不到它,所以它必须是动态生成的。我似乎无法找到它在哪里执行此操作,因此我可以将它从它存储在配置中的任何变量中删除。

4

1 回答 1

1

好吧,这是一个 hack,但似乎您可以在 CFLAGS 尝试链接测试之前对其进行操作:

ac_fn_c_try_link ()
{
        CFLAGS="${CFLAGS/-pthread/}"

...在“配置”中

于 2012-10-04T20:06:29.383 回答