Android--移植android ndk c++各种兼容性问题
16lz
2021-01-26
本文转载自http://blog.csdn.net/wenrenwang/article/details/12003671
转载几个在android代码移植过程中出现的问题:
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修改系统语言
- IDS打包系统包修改
- Android(安卓)7.1.2(Android(安卓)N) Multi-window-mode--多窗口
- Android(安卓)调用系统相机拍照并储存在本地
- android系统提供的常用命令行工具
- android避免service被杀
- Android工具类ImgUtil选择相机和系统相册
- Android手机开发ubuntu系统中常用的搜索命令