Android学习笔记——NDK中C++标准库、STL的配置;Include其他头文件
来源:互联网 发布:微信商城端口什么意思 编辑:程序博客网 时间:2024/06/06 09:21
http://cherishlc.iteye.com/blog/1758643
以下所有是基于Eclipse的,使用命令行的绕道。
1、STL的使用,以stlport为例
官方的说法是只需要在Application.mk文件中添加如下一行即可
- APP_STL := stlport_static
即可,可是如果真只是这么做Eclipse中会提示找不到头文件!!!
还可以用GNU的标准库,参见ndk/docs/APPLICATION-MK.html文件中对APP_STL选项的说明。
找不到头文件的原因可能是Eclipse的代码提示功能在寻找头文件时可能并不会识别Application.mk中的配置。于是乎,还需要在工程的property中设置一下头文件所在路径。 看到第二行那个万恶的system路径了吧,那个不支持stl等功能的默认C++库的路径。。。。
附上自己实际使用的Application.mk文件
- APP_ABI := x86 #只生成x86架构的CPU用的lib,要生成所有平台的可以改为all
- #APP_STL := stlport_static
- NDK_TOOLCHAIN_VERSION=4.7 #使用GCC4.7
- APP_STL := gnustl_static #GNU STL
- APP_CPPFLAGS := -fexceptions -frtti #允许异常功能,及运行时类型识别
- APP_CPPFLAGS +=-std=c++11 #允许使用c++11的函数等功能
- APP_CPPFLAGS +=-fpermissive #此项有效时表示宽松的编译形式,比如没有用到的代码中有错误也可以通过编译;使用GNU STL时不用此项std::string 居然编译不通过!!
2、添加其他头文件
cpp文件没试。只是添加头文件! 跟添加stl支持一样,要在工程属性添加头文件路径。不过上面那个不知道是不是只是给IDE看的。。。google作的一致性还不够啊。。。
好吧,于是乎,还要在Android.mk中添加头文件路径,如:
- LOCAL_C_INCLUDES :=$(LOCAL_PATH) D:\cppHeaders\Include
重新声明下,需要改两个地方:
- 1、在工程属性添加头文件路径
- 2、在Android.mk的LOCAL_C_INCLUDES项中添加头文件路径
3、编译器抽风的时候。。。
原本明明编译通过的代码又报错。。。。果断直接删除obj文件夹下的文件重新编译。
Good luck!!
0 0
- Android学习笔记——NDK中C++标准库、STL的配置;Include其他头文件
- Android学习笔记——NDK中C++标准库、STL的配置;Include其他头文件
- Android学习笔记——NDK中C++标准库、STL的配置;Include其他头文件
- Android学习笔记——NDK中C++标准库、STL的配置;Include其他头文件
- NDK中C++标准库、STL的配置;Include其他头文件
- C语言include其他目录下的头文件
- C语言学习笔记 --- #include头文件说明
- Android NDK的include配置
- android NDK学习篇5之hello-jni——jni中头文件的自动生成
- android NDK学习篇5之hello-jni——jni中头文件的自动生成
- 常用标准库头文件include
- QT学习笔记之Qt4#include <QtGui>包含常用的头文件在Qt5中无效
- Android NDK 在eclipse中生成C/C++头文件
- 最新的C++标准——如何在C++中包含C的头文件
- [C++STDlib基础]关于C标准输入输出的操作——C++标准库头文件<cstdio>
- C语言头文件#include的作用
- 标准C的头文件assert.h学习总结
- android源码中头文件以及ndk
- 一种许愿瓶效果
- [NOIP 2014复习]第四章:高效算法与高效数据结构
- 导出后的jar包功能不全,按钮点击无效
- JSON数据与NSDictionary和NSArray之间的转化
- 华为软件类校招 2014年9月3日 熟悉机考环境 1.记票统计 2.求最大递增数 3.Word Maze(单词迷宫)
- Android学习笔记——NDK中C++标准库、STL的配置;Include其他头文件
- IOS-NSDate之今天,昨天,这周,这个月,上个月
- 关于spring中初始化出差的问题applicationcontext.xml无法加载
- 成绩文件排序
- HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。
- 菜鸟福利 A星寻路算法 cocos2d-x实现
- 档案
- weblogic新建服务
- Ubuntu下解决 adb devices :???????????? no permissions 方法