首页 > 解决方案 > 如何将 libc_nano 与 Clang 一起使用?

问题描述

我正在探索使用 clang 作为 ARM 嵌入式开发的编译器。由于 clang 没有等效的.spec文件,我无法说服 clang 链接到libc_nano. 我怎么能告诉 clang 默认不链接任何库,以便我可以指定正确的库,或者将-lc命令重写为-lc_nano

我试图运行的命令是:

clang -target arm-none-eabi -mcpu=cortex-a5 -mfpu=neon-vfpv4 -mfloat-abi=hard -march=armv7-a main.c

目前我收到此错误消息:

/usr/lib/llvm-6.0/bin/ld.lld: error: unable to find library -lc

编辑:我注意到-fno-autolink根据帮助文本,clang 有一个 which Disable generation of linker directives for automatic library linking:. 然而它似乎没有做任何事情?

EDIT2:我知道我可以滥用符号链接来实现这一点。在这种情况下,我想避免使用符号链接,因为它会使构建系统变得脆弱。

标签: carmembeddedclanglibc

解决方案


在进一步的 google-fu 和 grep-fu 之后,结果发现答案一直盯着我看。Clang 有一个-nodefaultlibs可以解决问题并阻止默认链接器指令的方法。虽然奇怪的是它没有记录在--help.


推荐阅读