原文: Android学习笔记——NDK中C++标准库、STL的配置;Include其他头文件

1、STL的使用,以stlport为例
官方的说法是只需要在Application.mk文件中添加如下一行即可

Application.mk代码  
  1. APP_STL := stlport_static

即可,可是如果真只是这么做Eclipse中会提示找不到头文件!!!
还可以用GNU的标准库,参见ndk/docs/APPLICATION-MK.html文件中对APP_STL选项的说明。

找不到头文件的原因可能是Eclipse的代码提示功能在寻找头文件时可能并不会识别Application.mk中的配置。于是乎,还需要在工程的property中设置一下头文件所在路径。 看到第二行那个万恶的system路径了吧,那个不支持stl等功能的默认C++库的路径。。。。

附上自己实际使用的Application.mk文件

Application.mk代码  
  1. APP_ABI := x86 #只生成x86架构的CPU用的lib,要生成所有平台的可以改为all
  2. #APP_STL := stlport_static
  3. NDK_TOOLCHAIN_VERSION=4.7 #使用GCC4.7
  4. APP_STL := gnustl_static #GNU STL
  5. APP_CPPFLAGS := -fexceptions -frtti #允许异常功能,及运行时类型识别
  6. APP_CPPFLAGS +=-std=c++11 #允许使用c++11的函数等功能
  7. APP_CPPFLAGS +=-fpermissive  #此项有效时表示宽松的编译形式,比如没有用到的代码中有错误也可以通过编译;使用GNU STL时不用此项std::string 居然编译不通过!!

2、添加其他头文件
cpp文件没试。只是添加头文件! 跟添加stl支持一样,要在工程属性添加头文件路径。不过上面那个不知道是不是只是给IDE看的。。。google作的一致性还不够啊。。。
好吧,于是乎,还要在Android.mk中添加头文件路径,如:

Android.mk代码  
  1. LOCAL_C_INCLUDES :=$(LOCAL_PATH) D:\cppHeaders\Include

重新声明下,需要改两个地方:

  • 1、在工程属性添加头文件路径
  • 2、在Android.mk的LOCAL_C_INCLUDES项中添加头文件路径

3、编译器抽风的时候。。。
原本明明编译通过的代码又报错。。。。果断直接删除obj文件夹下的文件重新编译。
Good luck!!

NDK中C++标准库、STL的配置;Include其他头文件相关推荐

  1. C++标准库——STL

    阅读目录 1. C++标准库--STL 2. C++"准"标准库--Boost 想要彻底搞懂C++是很难的,或许是不太现实的.但是不积硅步,无以至千里,所以抽时间来坚持学习一点,总 ...

  2. 【转】C++中#include包含头文件带 .h 和不带 .h 的区别

    C++中#include包含头文件带 .h 和不带 .h 的区别? 如 #include <iostream> 和 #include <iostream.h> 包含的东西有哪些 ...

  3. 《UNIX网络编程》配置unp.h头文件

    0x00 前言 文章中的文字可能存在语法错误以及标点错误,请谅解: 如果在文章中发现代码错误或其它问题请告知,感谢! 系统版本:Ubuntu 14.04_64 最后更新:2022-03-23 0x01 ...

  4. 在link.c中已经include了头文件了,为什么使用ld还无法识别mian和printf?

    链接器ld //link.c #include <stdio.h> #include <stdlib.h> int main() { printf("%f\n&quo ...

  5. C++中头文件(.h)和源文件(.cpp)都应该写些什么,头文件中的预编译语句作用,命名空间和头文件的区别与联系,内部链接和外部链接

    1. C++中头文件(.h)和源文件(.cpp)都应该写些什么: 总结下来就是头文件写的就是类的声明(包括类里面的成员和方法的声明)和函数的声明,但一般来说不写出具体的实现.对应的同名(可以不同名,但 ...

  6. 习题 8.4 在本章第8.3.3节中分别给出了包含类定义的头文件student.h,包含成员函数定义的源文件student.cpp以及包含主函数的源文件main.cpp。请完善该程序,在类中增加。。。

    C++程序设计(第三版) 谭浩强 习题8.4 个人设计 习题 8.4 在本章第8.3.3节中分别给出了包含类定义的头文件student.h,包含成员函数定义的源文件student.cpp以及包含主函数 ...

  7. [技术] OIer的C++标准库 : STL入门

    注: 本文主要摘取STL在OI中的常用技巧应用, 所以可能会重点说明容器部分和算法部分, 且不会讨论所有支持的函数/操作并主要讨论 C++11 前支持的特性. 如果需要详细完整的介绍请自行查阅标准文档 ...

  8. python图像去污_图像去雾毕业论文准备02-python中os标准库

    OS:operate System 操作系统 os模块并不是python启动时的模块 导入os模块 import os 标准库 import os help(os) 1 getcwd()获取当前工作目 ...

  9. 图像去雾毕业论文准备01-python中time标准库

    2021年第一篇博文,很高兴又回到博文! 先说说后面我需要做的工作 我的毕业论文是<基于卷积神经网络的去雾> 关于论文,我打算从以下5章进行展开 第1章 1.1 背景 1.2 国内外研究现 ...

最新文章

  1. sublime编辑器中文乱码的问题
  2. 表示python代码块的是_编写高质量Python代码的59个有效方法,你用过几个
  3. spring mvc 中文乱码 post与get的方法解决
  4. Objective-C语法之字符串NSString去掉前后空格或回车符(可以是NSCharacterSet类型的其它字符)...
  5. 阅读量PHP设计,zblogPHP如何修改文章阅读量
  6. 机器学习 凝聚态物理_机器学习遇到了凝聚的问题
  7. java学习(26):switch
  8. 查看手机是否安装微信客户端
  9. 计算机网络——数据链路层的概述
  10. mysql永远不用utf8_永远不要在 MySQL 中使用「utf8」
  11. SparkSql 数据类型转换
  12. 快速学习javascript 整体架构方法
  13. UML快速指南(摘要)转载
  14. python使用长ping命令_python实现ping命令小程序
  15. 生动形象!一个故事讲完CPU的工作原理
  16. .NET环境下基于RBAC的访问控制
  17. 安全公司发现雄迈数字摄像机的主控口令“已泄露”
  18. 完全二叉树的高度为什么是对lgN向下取整
  19. 站班汇报 水印 加相册插件
  20. 阿里 机器翻译 api

热门文章

  1. C Implement a string class with basic functionality
  2. proc文件系统编程
  3. visual studio 关闭编译优化
  4. 栈上对象的内存自动释放
  5. subprocess.Popen.stdout.readlines()
  6. 计算机软件评测减增值税,软件产品即征即退政策依据之一
  7. java 反射 工厂_JAVA反射机制、工厂模式与SPRING IOC
  8. python注释_不建议使用Java注释的正确方法
  9. 战争升级!Elasticsearch 从客户端向 AWS 开了一炮!
  10. 开源模式反击之后,白嫖服务商竟然大叫“你不讲武德!”