我正在使用i686机器作为构建平台为ARM设置交叉编译工具链。
我已经能够使用工具链编译基本的C程序并在目标ARM设备上运行它,但由于Newlib只会构建静态库,因此文件大小过大
GCC I使用版本和Newlib本身都是使用--enable-shared
选项配置的 - 但它似乎只是在构建时忽略了这一点。
我在Newlib文档中读到,如果主机和目标机器都是i * 86机器,那么Newlib将使用libtool自行构建,自动构建共享和静态库 - 但这并不多帮助ARM目标!
有没有人知道将Newlib构建为ARM设备的共享库而不仅仅是静态的方法?
鉴于Newlib旨在用于嵌入式系统,我惊讶的是它在用于Intel机器上的本机编译时只能生成共享库。
谢谢!
答案 0 :(得分:0)
除i [3456] 86-pc-linux-gnu以外的平台均未启用共享库。它们不能在其他平台上工作(实际上,它们甚至不能在预期的平台上工作!)。