ANDROID源码编译错误及解决方法
2014-06-25 17:16
459 查看
1. 编译ANDROID源码出现以下错误:
E:/program/Android_source/system/core/include/cutils/threads.h:60:4: error: #error "no thread_store_t implementation for your platform !!"
分析源码system/core/include/threads.h发现以下代码,定义HAVE_PTHREADS宏解决问题(LOCAL_CFLAGS += -DHAVE_PTHREADS)
#ifdef HAVE_PTHREADS
#include <pthread.h>
typedef struct {
pthread_mutex_t lock;
int has_tls;
pthread_key_t tls;
} thread_store_t;
#define THREAD_STORE_INITIALIZER { PTHREAD_MUTEX_INITIALIZER, 0, 0 }
#elif defined HAVE_WIN32_THREADS
#include <windows.h>
typedef struct {
int lock_init;
int has_tls;
DWORD tls;
CRITICAL_SECTION lock;
} thread_store_t;
#define THREAD_STORE_INITIALIZER { 0, 0, 0, {0, 0, 0, 0, 0, 0} }
#else
# error "no thread_store_t implementation for your platform !!"
#endif
2. 编译Skia出现 E:/program/Android_source/frameworks/base/include/utils/threads.h:345: error: 'pthread_rwlock_t' does not name a type
通过分析源码发现需定义SK_BUILD_FOR_ANDROID_NDK并且需要把HAVE_PTHREADS宏的定义去掉,呵呵,也就是2和3的问题都可以通过定义SK_BUILD_FOR_ANDROID_NDK宏解决。
3. 编译base/libs/utils出现 E:/program/Android_source/frameworks/base/include/utils/threads.h:345: error: 'pthread_rwlock_t' does not name a type错误
加入头文件地址LOCAL_C_INCLUDES += platform/bionic/libc/include
E:/program/Android_source/system/core/include/cutils/threads.h:60:4: error: #error "no thread_store_t implementation for your platform !!"
分析源码system/core/include/threads.h发现以下代码,定义HAVE_PTHREADS宏解决问题(LOCAL_CFLAGS += -DHAVE_PTHREADS)
#ifdef HAVE_PTHREADS
#include <pthread.h>
typedef struct {
pthread_mutex_t lock;
int has_tls;
pthread_key_t tls;
} thread_store_t;
#define THREAD_STORE_INITIALIZER { PTHREAD_MUTEX_INITIALIZER, 0, 0 }
#elif defined HAVE_WIN32_THREADS
#include <windows.h>
typedef struct {
int lock_init;
int has_tls;
DWORD tls;
CRITICAL_SECTION lock;
} thread_store_t;
#define THREAD_STORE_INITIALIZER { 0, 0, 0, {0, 0, 0, 0, 0, 0} }
#else
# error "no thread_store_t implementation for your platform !!"
#endif
2. 编译Skia出现 E:/program/Android_source/frameworks/base/include/utils/threads.h:345: error: 'pthread_rwlock_t' does not name a type
通过分析源码发现需定义SK_BUILD_FOR_ANDROID_NDK并且需要把HAVE_PTHREADS宏的定义去掉,呵呵,也就是2和3的问题都可以通过定义SK_BUILD_FOR_ANDROID_NDK宏解决。
3. 编译base/libs/utils出现 E:/program/Android_source/frameworks/base/include/utils/threads.h:345: error: 'pthread_rwlock_t' does not name a type错误
加入头文件地址LOCAL_C_INCLUDES += platform/bionic/libc/include
相关文章推荐
- Android 源码编译及常见错误及解决方法
- 编译android源码时,jack server 出现out of memory error 错误的解决方法
- 编译android源码时,jack server 出现out of memory error 错误的解决方法
- 编译android源码遇到错误及其解决方法
- [Android环境搭建错误解决三]Android4.0.4源码编译常见错误及解决方法
- ubuntu编译android 4.04源码的错误解决方法
- android 4.0.1源码编译,学习错误解决
- ubuntu 编译 Android 出现的若干错误及解决方法
- ubuntu 11.10(32位系统)下编译android源码 make错误解决办法
- android导入项目@override编译错误解决方法
- 【转】Ubuntu 11.04 下 Android4.0.1 编译错误解决方法
- Android源码编译 build/core/base_rules.mk 报错解决方法
- 非官网下载的android 源码编译问题 及解决方法
- Ubuntu 11.04 下 Android4.0.1 编译错误解决方法
- android 4.0.1源码编译,学习错误解决
- android编译错误及解决方法
- ubuntu 编译 Android 出现的若干错误及解决方法
- 编译Android源码时常见问题以及解决方法
- ubuntu 编译 Android 出现的若干错误及解决方法
- Android 开发环境搭建 与在编译中遇到错误make Error 45解决方法