NDK C++ 编译错误
来源:互联网 发布:gta5pc优化 编辑:程序博客网 时间:2024/05/29 07:27
out/target/product/generic/obj/lib/libOpenSLES.so: undefined reference to `vtable for __cxxabiv1::__vmi_class_type_info'
这说明gold和GNU ld的行为不完全一致。使用linker选项--allow-shlib-undefined
可以忽略这个错误。ld手册上说:这个选项会使ld忽略so库内的未定义符号,但是对于命令行上其它.o文件内的未定义符号仍然报错。
因此,可以在相应的Android.mk文件里添加
LOCAL_LDFLAGS := -Wl,--allow-shlib-undefined
来解决这个问题。
为什么会出现如:error: undefined reference to ‘__cxa_end_cleanup’ 的链接错误。Android上用stlport时。因为没有链接到libstdc++.a。所以出错。
因为用到了一些静态库, 所以必须要链接完整的libstdc++.a。可以在
http://crystax.net/android/ndk.php这里下载的包里
sources\cxx-stl\gnu-libstdc++\libs\armeabi目录中找到。
Android上本身的libstdc++支持有限,所以必须链接到一个完整的libstdc++.a才行。
在Android.mk文件中加入
LOCAL_LDFLAGS = $(LOCAL_PATH)/libs/libcurl.a \
$(LOCAL_PATH)/libs/libstdc++.a
以及LOCAL_CPPFLAGS += -lstdc++就可以编译通过了。
这样 的话,android上的c++就支持 c++无异常处理、RTTI,c++标准库stl等了。
支持异常处理:
LOCAL_CPPFLAGS += -lstdc++ -fexceptions
STL库:libstlport.a
- Android NDK编译错误
- NDK C++ 编译错误
- NDK编译错误
- NDK编译错误总结
- android ndk编译错误
- AndroidStudio ndk编译错误
- android ndk c编译
- ndk编译c可执行程序
- 用ndk编译C文件
- NDK编译C可执行程序
- NDK编译C/C++文件
- 解决NDK编译so从C改为C++出现Native method not found错误
- 使用NDK 编译C/C++程序遇到 crtbegin_so.o: No such file or directory 等错误
- NDK编译错误“Not a valid NDK directory” 处理
- Android NDK编译常见错误及解决方案
- 用Android NDK编译FFmpeg错误解决
- Android NDK编译常见错误及解决方案
- ndk 编译常见错误-你懂得
- 谈eager跟lazy标签
- NoSQL之【memcached】学习
- JSP 后台导出Excel
- mini2440裸机编程---网卡
- cookie,Application ,session的介绍和典型用处
- NDK C++ 编译错误
- 谈最初的Tomcat内存问题!
- 黑马程序员-------运算符重载(二)
- Spring源码分析之——导入spring-framework源代码到Eclipse
- [转]Content-Type: application/x-www-form-urlencoded
- 微软发布SQL Server 2014预览版,展示内存数据库技术
- Runtime exec: 读InputStream & ErrorStream 没反应
- Java 界面小摘记
- 青春未散场