1.__int64找不到符号

采用int64_t来代替:
#if defined(__ANDROID__)
typedef int64_t __int64;
#endif
2.<sys/io.h>找不到
android下不需要直接引用该文件,用下面的宏去掉即可
#if !defined(__APPLE__) && !defined(__ANDROID__) #include <sys/io.h> #endif
3.SO_NOSIGPIPE找不到
SO_NOSIGPIPE在mac中存在,可惜在android中不存在。请使用MSG_NOSIGNAL来代替
#if defined(__ANDROID__) #define SO_NOSIGPIPE MSG_NOSIGNAL #endif
4.uint64_t, int64_t, uint32_t, int32_t等类似类型找不到
请检查你的头文件包含,将系统的头文件放在自已的头文件之前。因为你自己的头文件有可以定义了重复的类型,导致系统头文件出错。
5.S_IREAD、S_IWRITE或者__S_IREAD、__S_IWRITE找不到
请用S_IRUSR、S_IWUSR代替
6.pthread_cancel找不到
这个android并未实现,有一些替代方法,具体见:http://bbs.rosoo.net/thread-10289-1-1.html
7.getifaddrs, <ifaddr.h> 找不到
android并没有实现。不过谢天谢地,有人已经帮我们实现了。感谢一下他:
https://github.com/kmackay/android-ifaddrs
8.<sys/statvfs.h>找不到
请用此来代替:
#if defined(__ANDROID__) #  include <sys/vfs.h> #  define statvfs statfs #else #  include <sys/statvfs.h> #endif

[Android-NDK编译] ndk 编译 c++ 兼容性问题汇总整理的更多相关文章

  1. ndk 编译 c++ 兼容性问题汇总整理

    转自:http://blog.csdn.net/wenrenwang/article/details/12003671 1.__int64找不到符号 采用int64_t来代替: #if defined ...

  2. 【Android】Eclipse自动编译NDK/JNI的三种方法

    [Android]Eclipse自动编译NDK/JNI的三种方法 SkySeraph Sep. 18th  2014 Email:skyseraph00@163.com 更多精彩请直接访问SkySer ...

  3. 【Android】Eclipse自己主动编译NDK/JNI的三种方法

    [Android]Eclipse自己主动编译NDK/JNI的三种方法 SkySeraph Sep. 18th  2014 Email:skyseraph00@163.com 一.Eclipse关联cy ...

  4. Android NDK工程的编译和链接以及使用gdb进行调试

    前提条件:已经安装了JDK 6.0.android SDK.NDK r9和eclipsele4.2开发环境. 推荐下载Android开发的综合套件adt-bundle-windows-x86,再下载A ...

  5. 使用Android Studio和Gradle编译NDK项目之Experimental Plugin User Guide

    转载自:http://tools.android.com/tech-docs/new-build-system/gradle-experimental Introduction The new exp ...

  6. 使用AndroidStudio编译NDK的方法及错误解决方案

    参考资料: [android ndk]macos环境下Android Studio中利用gradle编译jni模块及配置:http://demo.netfoucs.com/ashqal/article ...

  7. 使用AndroidStudio编译NDK的方法及错误解决方式

    參考资料: [android ndk]macos环境下Android Studio中利用gradle编译jni模块及配置:http://demo.netfoucs.com/ashqal/article ...

  8. AndroidStudio用Cmake方式编译NDK代码(cmake配置.a库)

    1.cmake是什么? CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程).他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C+ ...

  9. ndk,cygwin编译 .so动态库

    注意: ndk .cygwin 安装路径尽量要和sdk放到一个磁盘里,设置环境变量. 例如D: 根目录  变量名:ndk   值:/cygdrive/d/android-ndk-r8e 打开cygwi ...

随机推荐

  1. 图论--差分约束--POJ 3169 Layout(超级源汇建图)

    Like everyone else, cows like to stand close to their friends when queuing for feed. FJ has N (2 < ...

  2. PyCharm 集成 SVN,检出、提交代码

    1.安装 SVN,解决 SVN 目录中没有 svn.exe 问题 重新打开 TortoiseSVN 安装文件 选择 Modify 后在command line client tools 选项修改为 W ...

  3. python安装pycrypto库

    使用pycharm时安装pycrypto库,一直安装不上,提示安装成功,退出去一看,依旧没有 最后选择了pip安装,但一直报错(Microsoft Visual C++ 9.0 is required ...

  4. Vuel路由跳转动画

    1.App.vue中添加 <transition :name="animate"> <router-view/> </transition> e ...

  5. Android 电池管理系统架构总结 Android power and battery management architecture summaries

    文章目录 1 整体架构 2 设计构架 2.1 driver 2.1.1 Charger.ko 2.1.2 Battery.ko 2.2 power supply 2.2.1 基础架构 2.2.2 代码 ...

  6. 深入理解JS中的对象(二):new 的工作原理

    目录 序言 不同返回值的构造函数 深入 new 调用函数原理 总结 参考 1.序言 在 深入理解JS中的对象(一):原型.原型链和构造函数 中,我们分析了JS中是否一切皆对象以及对象的原型.原型链和构 ...

  7. MATLAB与三大变换

    运行 Simulink 有三种方式: z 在 MATLAB 的命令窗口直接键入“Simulink”并回车: z 单击 MATLAB 工具条上的 Simulink 图标: z 在 MATLAB 菜单上选 ...

  8. [hdu]5202

    思路:把所有'?'用'a'代替,如果冲突则最后一个改为'b',注意特判最后一个问号在中间的情况.

  9. Windows系统目录

    文件功能 编辑 ├—WINDOWS │ ├—system32(存放Windows的系统文件和硬件驱动程序) │ │ ├—config(用户配置信息和密码信息) │ │ │ └—systemprofil ...

  10. mysql查询日期分组,不存在的补全0,做每天数据图表,根据日期,N天数往前查

    SELECT IFNULL( DATA.count, 0 ) AS count, day_list.DAY AS createTime FROM ( SELECT DATE_FORMAT( creat ...