Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android can';交叉编译到arm时找不到lpthread_Android_Arm_Pthreads_Cross Compiling - Fatal编程技术网

Android can';交叉编译到arm时找不到lpthread

Android can';交叉编译到arm时找不到lpthread,android,arm,pthreads,cross-compiling,Android,Arm,Pthreads,Cross Compiling,这是我目前的问题。现在我正在尝试将一个基于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 编译器

这是我目前的问题。现在我正在尝试将一个基于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
请帮助:如何附加正确的标志如何欺骗自动注册如何交叉编译libpthread最终通过编译。

Android的POSIX线程(pthreads):

android libc,bionic,提供了对pthreads的内置支持,它没有实现完全的线程 POSIX线程化功能,不支持读/写锁, pthread_cancel(),处理共享互斥体和条件变量以及 其他更高级的功能


因此,无需添加
-lpthreads
并删除复选框。

您使用的是什么特定的交叉工具链(目标、版本等)?“arm eabi”目标听起来像是一个面向裸机的工具链,它很可能是在不支持pthreads的情况下构建的。对于Android,您可能希望使用NDK中的arm linux AndroidAbi工具链。@不,您好,我将主机更改为“arm linux AndroidAbi”,它仍然存在这样的问题。ANDROID_TARGET=armv7 none linux AndroidAbi TOOLCHAIN=arm linux AndroidAbi看到了这个答案并尝试了一下。问题是我无法在没有任何标志的情况下通过autoconf。已删除并且无法正常工作,仍然无法找到pthread,但我需要完整版本