Android开发编译ICS时遇到collect2: ld returned 1 exit status错误解决方案

编译Android4.0时遇到下面的问题,
/home/joeyjiaojg/android/src/cm4/external/llvm/lib/Support/Mutex.cpp:69: undefined reference to `pthread_mutexattr_init'
/home/joeyjiaojg/android/src/cm4/external/llvm/lib/Support/Mutex.cpp:75: undefined reference to `pthread_mutexattr_settype'
/home/joeyjiaojg/android/src/cm4/external/llvm/lib/Support/Mutex.cpp:80: undefined reference to `pthread_mutexattr_setpshared'
/home/joeyjiaojg/android/src/cm4/external/llvm/lib/Support/Mutex.cpp:89: undefined reference to `pthread_mutexattr_destroy'
out/host/linux-x86/obj/STATIC_LIBRARIES/libLLVMSupport_intermediates/libLLVMSupport.a(Mutex.o): In function `llvm::sys::MutexImpl::tryacquire()':
/home/joeyjiaojg/android/src/cm4/external/llvm/lib/Support/Mutex.cpp:143: undefined reference to `pthread_mutex_trylock'
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/EXECUTABLES/test-librsloader_intermediates/test-librsloader] Error 1

解决方法:

进入源码的根目录
使用命令:gedit external/llvm/lib/Support/Android.mk

在文件中的两部分都加入LOCAL_C_INCLUDES+=system/core/include/cutils和LOCAL_SHARED_LIBRARIES := libcutil

使用命令:gedit external/llvm/lib/Support/Mutex.cpp

在Mutex.cpp中加入头文件 “#include <threads.h>”

使用命令:gedit external/llvm/lib/Support/Threading.cpp

在Threading.cpp中加入头文件 “#include <threads.h>”

原文地址:https://www.cnblogs.com/thinkfeed/p/2293633.html