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

时间:2013-05-28 18:15:06

标签: android c gcc header-files cross-compiling

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

2 个答案:

答案 0 :(得分:1)

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

strstr听起来似乎libc,这听起来很奇怪,我没有解释。如果您有权访问设备上的库,那么我会检查objdump -t是否定义了strstr

答案 1 :(得分:0)

  

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

过去它对我有用。

  

这些头文件是否特定于硬件?

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

除非NDK中存在严重错误(似乎不太可能),否则我想你可能想再次查看你的版本。

相关问题