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>”