天马行空 发表于 2022-2-17 18:46:20

请教关于GCC的libc.a的问题。

把一个项目工程挪到了Embedded Studio for ARM 里,编译器选的GCC,链接器ld,编译正常,最后链接的时候提示"cannot find libc.a"。查找Embedded Studio的安装目录下确实没有这个库文件,于是到STM32CubeIDE的安装目录下找了哈,发现有很多的libc.a。纠结不知道选哪个,随便选了个 libc.a复制到Embedded Studio下,再编译链接,之前的问题消除了,stm32f429.S汇编文件里却又报__libc_init_array未定义。。想不通Embedded Studio本身不是支持GCC环境编译的么?怎么会没有libc.a这些库文件?搞不定了,只好把那条__libc_init_array代码注释掉,编译链接成功,下载到板子里跑着好像也没问题。

丢丢时光机 发表于 2022-2-17 22:49:28

自己编写的makefile?若是的话链接库需要添加-specs=nosys.specs
如果不是,检查一下studio的编译配置,增加这个链接选项。

了无 发表于 2022-2-17 23:27:07

丢丢时光机 发表于 2022-2-17 22:49
自己编写的makefile?若是的话链接库需要添加-specs=nosys.specs
如果不是,检查一下studio的编译配置,增 ...
(引用自2楼)

为什么自己编写的要加这个,我看了一下我的确实加了

天马行空 发表于 2022-2-18 10:29:36

丢丢时光机 发表于 2022-2-17 22:49
自己编写的makefile?若是的话链接库需要添加-specs=nosys.specs
如果不是,检查一下studio的编译配置,增 ...
(引用自2楼)

谢谢。我按照你的提示试了哈,报"unrecognized option '--specs=nosys.specs'错误,看提示信息,好像参数再ld命令的里的位置不对,Embedded Studio里一堆的参数设置选项,不知道哪个是添加ld链接参数的,继续摸索中。。。。


dukelec 发表于 2022-2-18 16:53:53

STM32CubeMX 直接生成 GCC 的 Makefile 它不香嗎
页: [1]
查看完整版本: 请教关于GCC的libc.a的问题。