C语言 为 ARM 构建 Newlib 共享库



我正在使用 i686 机器作为构建平台为 ARM 设置交叉编译工具链。

我已经能够使用工具链编译一个基本的 C 程序并在目标 ARM 设备上运行它,但由于 Newlib 只会构建静态库,文件大小最终太大。

我正在使用的 GCC 版本和 Newlib 本身都是使用--enable-shared选项配置的 - 但它似乎在构建时忽略了这一点。

我在 Newlib文档中读到,如果主机和目标机器都是 i*86 机器,那么 Newlib 将使用 libtool 自行构建,libtool 会自动构建共享和静态库 - 但这对 ARM 目标没有多大帮助!

有谁知道一种方法可以将Newlib构建为ARM设备的共享库,而不仅仅是静态的?

鉴于 Newlib 旨在用于嵌入式系统,令我惊讶的是,它只能在用于英特尔机器上的本机编译时生成共享库。

谢谢!

共享库未针对 i[3456]86-pc-linux-gnu 以外的平台启用。他们不能在其他平台上工作(事实上,他们甚至不适用于他们想要的平台!

最新更新