android编译错误(二)
2011-07-30 16:52
344 查看
将一些常见错误记录下来,以便自已查看使用,节省去搜索的时间
1、stlport的问题解决
external/stlport/src/num_put_float.cpp: In function 'bool std::priv::_Stl_is_nan_or_inf(double)':
external/stlport/src/num_put_float.cpp:143: error: 'IsNANorINF' was not declared in this scope
external/stlport/src/num_put_float.cpp: In function 'bool std::priv::_Stl_is_inf(double)':
解决方法:编辑external/stlport/Android.mk修改libstlport_cflags := -D_GNU_SOURCE -DUSE_SPRINTF_INSTEAD
2、bitwise.c的问题解决
In file included from external/tremolo/Tremolo/bitwise.c:43:
external/tremolo/Tremolo/misc.h:82: error: redefinition of 'union magic'
解决方法:
在external/tremolo/Tremolo/misc.h中加入
#include <endian.h>
3、__dso_handle的问题解决
external/stlport/src/monetary.cpp:39: undefined reference to `__dso_handle'
out/target/product/vm/obj/SHARED_LIBRARIES/libstlport_intermediates/src/locale.o: In function `__static_initialization_and_destruction_0':
解决方法:修改external/stlport/dll_main.cpp加入
extern "C" {
void * __dso_handle = 0;
}
4、dnsmasq的dbus引用问题解决
external/dnsmasq/src/dbus.c:21:23: error: dbus/dbus.h: No such file or directory
external/dnsmasq/src/dbus.c:60: error: expected specifier-qualifier-list before 'DBusWatch'
external/dnsmasq/src/dbus.c:65: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'add_watch'
修改external/dnsmasq/src/config.h
/* #define H***E_DBUS */
#ifdef __ANDROID__
#undef H***E_DBUS
#endif
5、libnfc-nxp的问题解决
target arm C: libnfc <= external/libnfc-nxp/src/phLibNfc.c
cc1: error: unrecognized command line option "-mapcs"
cc1: error: unrecognized command line option "-mno-sched-prolog"
cc1: error: unrecognized command line option "-mabi=aapcs-linux"
cc1: error: unrecognized command line option "-mno-thumb-interwork"
修改external/libnfc-nxp/Android.mk将
LOCAL_CFLAGS += -DNXP_MESSAGING -DINCLUDE_DALINIT_DEINIT -pipe -fomit-frame-pointer -Wall -Wno-trigraphs -Werror-implicit-function-declaration -fno-strict-aliasing -mapcs -mno-sched-prolog -mabi=aapcs-linux -mno-thumb-interwork -msoft-float -Uarm -fno-common
–fpic
改为
LOCAL_CFLAGS += -DNXP_MESSAGING -DINCLUDE_DALINIT_DEINIT -pipe -fomit-frame-pointer -Wall -Wno-trigraphs -Werror-implicit-function-declaration -fno-strict-aliasing -msoft-float -Uarm -fno-common -fpic
6、IAudioEffect.c的问题解决6、
out/target/product/vm/obj/SHARED_LIBRARIES/libOpenSLES_intermediates/IAndroidEffect.o:(.data.rel.ro._ZTIN7android12SortedVectorINS_16key_value_pair_tImPNS_11AudioEffectEEEEE[typeinfo for android::SortedVector<android::key_value_pair_t<unsigned long, android::AudioEffect*>
>]+0x0): undefined reference to `vtable for __cxxabiv1::__vmi_class_type_info'
将system/media/opensles/libopensles/IAndroidEffect.c换名IAndroidEffect.cpp并更新Android.mk文件包含的IAudioEffect.c->IAudioEffect.cpp
7、消除LOCAL_MODULE_TAGS的问题(external/grub),
设置LOCAL_MODULE_TAGS := optional
build/core/base_rules.mk:74: *** Module name: grub_stage1
build/core/base_rules.mk:75: *** Makefile location: external/grub
总结的不错,记录在此以便查询,谢谢,作者blog:http://carltao.blog.51cto.com
1、stlport的问题解决
external/stlport/src/num_put_float.cpp: In function 'bool std::priv::_Stl_is_nan_or_inf(double)':
external/stlport/src/num_put_float.cpp:143: error: 'IsNANorINF' was not declared in this scope
external/stlport/src/num_put_float.cpp: In function 'bool std::priv::_Stl_is_inf(double)':
解决方法:编辑external/stlport/Android.mk修改libstlport_cflags := -D_GNU_SOURCE -DUSE_SPRINTF_INSTEAD
2、bitwise.c的问题解决
In file included from external/tremolo/Tremolo/bitwise.c:43:
external/tremolo/Tremolo/misc.h:82: error: redefinition of 'union magic'
解决方法:
在external/tremolo/Tremolo/misc.h中加入
#include <endian.h>
3、__dso_handle的问题解决
external/stlport/src/monetary.cpp:39: undefined reference to `__dso_handle'
out/target/product/vm/obj/SHARED_LIBRARIES/libstlport_intermediates/src/locale.o: In function `__static_initialization_and_destruction_0':
解决方法:修改external/stlport/dll_main.cpp加入
extern "C" {
void * __dso_handle = 0;
}
4、dnsmasq的dbus引用问题解决
external/dnsmasq/src/dbus.c:21:23: error: dbus/dbus.h: No such file or directory
external/dnsmasq/src/dbus.c:60: error: expected specifier-qualifier-list before 'DBusWatch'
external/dnsmasq/src/dbus.c:65: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'add_watch'
修改external/dnsmasq/src/config.h
/* #define H***E_DBUS */
#ifdef __ANDROID__
#undef H***E_DBUS
#endif
5、libnfc-nxp的问题解决
target arm C: libnfc <= external/libnfc-nxp/src/phLibNfc.c
cc1: error: unrecognized command line option "-mapcs"
cc1: error: unrecognized command line option "-mno-sched-prolog"
cc1: error: unrecognized command line option "-mabi=aapcs-linux"
cc1: error: unrecognized command line option "-mno-thumb-interwork"
修改external/libnfc-nxp/Android.mk将
LOCAL_CFLAGS += -DNXP_MESSAGING -DINCLUDE_DALINIT_DEINIT -pipe -fomit-frame-pointer -Wall -Wno-trigraphs -Werror-implicit-function-declaration -fno-strict-aliasing -mapcs -mno-sched-prolog -mabi=aapcs-linux -mno-thumb-interwork -msoft-float -Uarm -fno-common
–fpic
改为
LOCAL_CFLAGS += -DNXP_MESSAGING -DINCLUDE_DALINIT_DEINIT -pipe -fomit-frame-pointer -Wall -Wno-trigraphs -Werror-implicit-function-declaration -fno-strict-aliasing -msoft-float -Uarm -fno-common -fpic
6、IAudioEffect.c的问题解决6、
out/target/product/vm/obj/SHARED_LIBRARIES/libOpenSLES_intermediates/IAndroidEffect.o:(.data.rel.ro._ZTIN7android12SortedVectorINS_16key_value_pair_tImPNS_11AudioEffectEEEEE[typeinfo for android::SortedVector<android::key_value_pair_t<unsigned long, android::AudioEffect*>
>]+0x0): undefined reference to `vtable for __cxxabiv1::__vmi_class_type_info'
将system/media/opensles/libopensles/IAndroidEffect.c换名IAndroidEffect.cpp并更新Android.mk文件包含的IAudioEffect.c->IAudioEffect.cpp
7、消除LOCAL_MODULE_TAGS的问题(external/grub),
设置LOCAL_MODULE_TAGS := optional
build/core/base_rules.mk:74: *** Module name: grub_stage1
build/core/base_rules.mk:75: *** Makefile location: external/grub
总结的不错,记录在此以便查询,谢谢,作者blog:http://carltao.blog.51cto.com
相关文章推荐
- android源码使用proguard混淆编译及错误总结
- Ubuntu 16.04 android 5.1编译错误
- 编译错误jni/Android.mk:12: *** commands commence before first targe
- 编译android源码,报:make警告:检测到时钟错误
- android 编译STL模块相关错误解决
- android 开发 @override 编译错误 解决办法
- 【Android】NDK中的编译错误(jni/Android.mk:3: *** 遗漏分隔符 停止)
- cocos2dx 编译错误 BUILD FAILEDG:\android\SDK\android-sdk-windows\tools\ant\build.xml:645: The following
- Android源码编译make的错误处理
- android 加入第三方jar 编译错误
- 编译android源码四(常见错误)
- ANDROID源码编译错误及解决方法
- Android入门级编译错误汇总
- 解决android混淆编译出现Proguard returned with error code 1和文件名、目录名或卷标语法不正确错误
- Ubuntu16.04编译Android6.0/cm13.0教程及相关错误解决办法
- android 开发 @override 编译错误 解决办法
- [Android_Ubuntu编译错误]ubuntu13.10编译错误全部解析
- Android 源码编译make的错误处理
- Ubuntu 编译Android若干错误及解决方法(转)
- android 编译错误--超出接口数量限制