Android--移植android ndk c++各种兼容性问题
2016-05-09 17:37
549 查看
本文转载自http://blog.csdn.net/wenrenwang/article/details/12003671
转载几个在android代码移植过程中出现的问题:
1.__int64找不到符号
采用int64_t来代替:#if defined(__ANDROID__)typedef int64_t __int64;#endif2.<sys/io.h>找不到android下不需要直接引用该文件,用下面的宏去掉即可#if !defined(__APPLE__) && !defined(__ANDROID__)
#include <sys/io.h>
#endif3.SO_NOSIGPIPE找不到SO_NOSIGPIPE在mac中存在,可惜在android中不存在。请使用MSG_NOSIGNAL来代替#if defined(__ANDROID__)
#define SO_NOSIGPIPE MSG_NOSIGNAL
#endif4.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.html7.getifaddrs, <ifaddr.h> 找不到android并没有实现。不过谢天谢地,有人已经帮我们实现了。感谢一下他:https://github.com/kmackay/android-ifaddrs8.<sys/statvfs.h>找不到请用此来代替:#if defined(__ANDROID__)
# include <sys/vfs.h>
# define statvfs statfs
#else
# include <sys/statvfs.h>
#endif
转载几个在android代码移植过程中出现的问题:
1.__int64找不到符号
采用int64_t来代替:#if defined(__ANDROID__)typedef int64_t __int64;#endif2.<sys/io.h>找不到android下不需要直接引用该文件,用下面的宏去掉即可#if !defined(__APPLE__) && !defined(__ANDROID__)
#include <sys/io.h>
#endif3.SO_NOSIGPIPE找不到SO_NOSIGPIPE在mac中存在,可惜在android中不存在。请使用MSG_NOSIGNAL来代替#if defined(__ANDROID__)
#define SO_NOSIGPIPE MSG_NOSIGNAL
#endif4.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.html7.getifaddrs, <ifaddr.h> 找不到android并没有实现。不过谢天谢地,有人已经帮我们实现了。感谢一下他:https://github.com/kmackay/android-ifaddrs8.<sys/statvfs.h>找不到请用此来代替:#if defined(__ANDROID__)
# include <sys/vfs.h>
# define statvfs statfs
#else
# include <sys/statvfs.h>
#endif
相关文章推荐
- Mixing Milk
- gcc中C语言扩展
- HDU 2147-kiki's game(博弈/找规律)
- 【C语言】求二维数组最大值最小值平均值
- Google C++ Style Guide----英文版
- C++ 基础
- 简单总结C++中的修饰符类型
- [C++]高精度 bign (重载运算符版本)
- C++学习曲线
- c++函数模板
- Caffe图片特征提取(Python/C++)
- C++中的运算符和运算符优先级总结
- 转 C++STL之string
- c++模板类成员的声明和定义
- 【C语言】矩阵转置
- Dual Palindromes
- 如何在Visual Studio和CodeBlocks中反编译C++代码
- 冒泡排序C++实现
- C语言的组成:32个关键词、9种控制语句、34种运算符
- 解析C++中的5个存储类的作用