首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android字符串中的错误,可能是由于size_t中的错误

Android字符串中的错误,可能是由于size_t中的错误
EN

Stack Overflow用户
提问于 2011-12-19 16:08:10
回答 1查看 1.1K关注 0票数 2

我在使用NDK为Android构建X11时遇到了问题。我用的是最新的NDK和机器人包装。我已经更新了droid包装器以处理我正在构建的大多数东西,但是它实际上只是增加了一堆编译器选项。我让它打印出它在下面使用的选项。我已经走得很远了,但是我遇到了一个问题--构建一些库:

代码语言:javascript
复制
 CC     AuDispose.lo
droid-debug(compile): /opt/android-ndk-r7/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc -DHAVE_CONFIG_H -I. -I./include -I/home/rmason/androix/usr/include -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -Wbad-function-cast -Wformat=2 -Wold-style-definition -Wdeclaration-after-statement -I/home/rmason/androix/usr/include -MT AuDispose.lo -MD -MP -MF .deps/AuDispose.Tpo -c AuDispose.c -fPIC -DPIC -o .libs/AuDispose.o -I/opt/android-ndk-r7/platforms/android-8/arch-arm/usr/include -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -DANDROID -DSK_RELEASE -DNDEBUG -UDEBUG -march=armv5te -mtune=xscale -msoft-float -mthumb-interwork -fpic -fno-exceptions -ffunction-sections -funwind-tables -fstack-protector -fmessage-length=0
In file included from /opt/android-ndk-r7/platforms/android-8/arch-arm/usr/include/stdlib.h:42,
             from AuDispose.c:34:
/opt/android-ndk-r7/platforms/android-8/arch-arm/usr/include/strings.h:47: error: expected declaration specifiers or '...' before numeric constant
/opt/android-ndk-r7/platforms/android-8/arch-arm/usr/include/strings.h:47: error:     conflicting types for 'memset'
AuDispose.c: In function 'XauDisposeAuth':
AuDispose.c:44: error: too many arguments to function 'memset'
make[1]: *** [AuDispose.lo] Error 1
make[1]: Leaving directory `/home/rmason/androix/lib/libXau'
make: *** [install] Error 2

我看看字符串,h和第47行是这样的:

代码语言:javascript
复制
void     bzero(void *, size_t);

我见过其他人对这种类型的行有困难,因为size_t是错误的值。一些人通过用内核的定义替换size_t来修复它。我的猜测是,我所包含的事物的顺序正在破坏一些我真正需要的定义。

如果人们喜欢整个故事,这里有一个小小的背景:

我正在尝试使用稍微修改过的droid包装器构建仙女座 ]。我制作了一个脚本(在我的github中作为androix-buildscript)来构建整个系统。它检查了所有的东西,构建了所有的东西。现在,我得到了以下结果:

  • 成功:util/宏
  • 成功: proto/xproto
  • 成功: lib/libxtrans
  • 成功: xcb/proto
  • 成功:xcb/
  • 失败: lib/libXau # strings.h s.h错误
  • 失败: xcb/libxcb #缺失Xau
  • 成功: proto/xextproto
  • 成功: proto/kbproto
  • 成功: proto/inputproto
  • 失败:lib/lib 11#缺少libxcb
  • 失败: lib/libxkbfile #缺少X11
  • 失败: app/xkbcomp #./xkbparse.c.配置:错误:无法在交叉编译时检查文件是否存在:*没有制定目标“安装”的规则。停止播放。
  • 成功:xkeyboard
  • 成功: mesa/drm
  • 成功:原语/固定原语
  • 成功: proto/damageproto
  • 成功: proto/xcmiscproto
  • 成功: proto/bigreqsproto
  • 成功:原语/合成语
  • 成功:原语/记录
  • 成功: proto/scrnsaverproto
  • 成功: proto/resourceproto
  • 失败: freetype #仍在努力找出构建这个系统的最佳方法,TODO
  • 成功: lib/libfontenc
  • 失败:lib/lib字体#缺少字体,TODO
  • 失败: lib/libXdmcp #类似于strings.h s.h libXau问题的问题
  • 失败:像素#与‘Elf32 32_生长素_t’不同的外观问题,但可能与size_t的字符串问题相同,它们都是面向定义的问题。

谢谢你抽出时间来看看这个。我真的很困惑。

EN

回答 1

Stack Overflow用户

发布于 2012-03-04 14:11:15

我通过注释显示错误的字符串.h行来完成生成。另外,我在AuDispose.c中使用memset,而不是bzero。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8564050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档