首页 文章

arm-gcc编译器编译的c代码的头文件

提问于
浏览
2

我在使用arm-gcc编译器编译的c代码中使用了string.h头文件,生成的可执行文件将在android设备上执行 . 当我将可执行文件推送到设备并执行它时,它向我显示了链接错误 . 如何在这样的设备上使用string.h中的函数?这些头文件是否特定于硬件?

2 回答

  • 1

    ARM EABI规定,ANSI C库的头文件应由编译器独立于库所在的位置提供 . 如果您是交叉编译,则必须确保使用 string.h 来自编译器,而不是来自本机系统 . 你得到了什么联系错误?

    听起来 strstr 中缺少 strstr ,听起来很奇怪,我没有解释 . 如果您可以访问设备上的库,那么我会检查例如 objdump -t ,如果它定义了 strstr .

  • 0

    如何在这样的设备上使用string.h中的函数?

    它过去对我有用 .

    这些头文件是硬件特定的吗?

    使用NDK工具,它们是特定的架构和平台(例如,Android 8,Android 14等) .

    除非NDK中存在严重错误(这似乎不太可能),否则我想你可能想再次检查你的构建 .

相关问题