如何为ARM GCC 12配置链接外部newlib库?
问题:自行编译newlib后使用
-nostdlib出现大量C库符号未定义引用 背景
- 基于ARM开发者网站提供的预编译ARM GCC 12包,自行编译newlib库
- 参考官方包中的
12.2.mpacbti-rel1-x86_64-arm-none-eabi-manifest.txt文件修改编译标志,移除了占用大量构建空间的--enable-newlib-mb标志;多次构建验证,该配置标志不影响当前报错
问题现象
使用替代默认库所需的-nostdlib编译标志时,出现大量C库函数未定义引用错误,涉及memcpy、memset、malloc等符号
当前链接参数
-nostdlib -L[gcc path]/lib -lgcc -lc -lm
- 自行编译的newlib库已放置在
[gcc-install]/lib目录下,但未定义引用问题仍然存在
补充:未定义符号列表
memset,mktime,setvbuf,strlen,strcmp,memcpy,strftime__aeabi_dcmplt,__aeabi_f2d,__aeabi_dadd,__aeabi_dmul,__aeabi_d2ulzmemmove,modf,localtime_r,mallinfo,_ctype_,gettimeofday,_errno,malloc,write
内容的提问来源于stack exchange,提问作者prz
相关产品推荐
相关产品推荐

