今天在移植一个Linux C程序到 Android 源码层时遇到一个问题,记录下来已备其他遇到此类问题的朋友查阅:
In file included from ******.c:82:0:
bionic/libc/kernel/common/linux/sysctl.h:37:24: error: expected identifier or '(' before '[' token
查看sysctl.h代码, 如下
struct __sysctl_args {
int __user *name;
int nlen;
void __user *oldval;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
size_t __user *oldlenp;
void __user *newval;
size_t newlen;
unsigned long __unused[4];
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
};
37行即:
unsigned long __unused[4];
原因是__unused这个成员名已经在其他地方被声明了,即
#define __unused ***
这里再使用的话就会报错,解决方案是在
******.c: 文件引用sysctl.h之前声明: #undef __unused,即:
#undef __unused
#include <linux/sysctl.h>

更多相关文章

  1. Cocos2d-x 新版本中android震动
  2. MQTT客户端移植Android
  3. android 动画一 (帧动画FrameAnimation)
  4. 游戏移植的注意事项
  5. 通过SVN导入两个项目(从java移植到andorid)时,一个android,一个普通
  6. 【Android(安卓)如何置底一个View(附 前置声明layout布局文件中的
  7. 移植ffmpeg中的H264解码部分到Android
  8. Ubuntu 12.04 编译Android(安卓)4.0.3 的环境配置
  9. 在英特尔® 凌动™ 处理器上将 OpenGL* 游戏移植到 Android* (第

随机推荐

  1. Android新控件MotionLayout介绍(一)
  2. Android敏感词标红
  3. Android(安卓)Studio 将module打成jar包
  4. Android官方培训中文课程
  5. 【Android学习笔记】双屏开发 Presentati
  6. Android开发——SQLite数据库(二)android s
  7. Android(安卓)热修复 技术浅析
  8. Android添加权限AndroidManifes.xml
  9. android应用程序启动解决黑屏及全屏显示
  10. Android(安卓)设置EditText的DrawableRig