gpt4 book ai didi

android - 交叉编译到 arm 时找不到 lpthread

转载 作者:搜寻专家 更新时间:2023-11-01 08:33:34 26 4
gpt4 key购买 nike

这是我目前的问题。现在我正在尝试将基于 x86 的项目移植到 android。但该项目需要pthread库支持,无法通过配置阶段。

命令:

./configure --build=${BUILD_SYS} --host=arm-eabi  --prefix=${PREFIX} --disable-rpath --disable-libasprintf --disable-java --disable-native-java --disable-openmp --disable-curses

编译器和编译标志:

export CFLAGS="--sysroot=${SYSROOT} -I${SYSROOT}/usr/include -I${PREFIX}/include -I${NDK}/sources/android/support/include -pthread -fPIE -DANDROID -Wno-multichar"
export CXXFLAGS=${CFLAGS}
export CPPFLAGS="--sysroot=${SYSROOT} -I${SYSROOT}/usr/include -I${PREFIX}/include -I${NDK}/sources/android/support/include -pthread -DANDROID -DNO_XMALLOC -mandroid"
export LIBS="-lc -lgcc -lstdc++ -ldl"
export LDFLAGS="-Wl,-L${SYSROOT}/usr/lib -L${PREFIX}/lib -L${NDK_TOOLCHAIN}/lib"

错误信息:

checking for WIN32... no
checking for Mac... no
checking for Linux... compile in linux
checking for uuid_generate in -luuid... yes
found library uuid
checking for pthread_create in -lpthread... no
configure: error: *** Unable to find pthread library

请帮助:如何附加正确的标志? 如何欺骗autoconf? OR 如何交叉编译libpthread? AND最终通过编译。

最佳答案

Android 的 POSIX 线程(pthreads):

android libc, bionic, 提供对pthreads 的内置支持, so noadditional linking (-lpthreads) is necessary. 它没有实现完整的POSIX 线程功能并省略了对读/写锁的支持,pthread_cancel()、进程共享的互斥体和条件变量以及其他更高级的功能。

因此不需要添加 -lpthreads 并删除检查。

关于android - 交叉编译到 arm 时找不到 lpthread,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38666609/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com