如何将libc_nano与Clang一起使用?

时间:2018-05-23 08:54:21

标签: c arm embedded clang libc

我正在探索使用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
编辑:我已经注意到clang的-fno-autolink根据帮助文字Disable generation of linker directives for automatic library linking。但它似乎没有做任何事情?

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

2 个答案:

答案 0 :(得分:3)

进一步谷歌和grep-fu,事实证明答案是在整个时间盯着我。 Clang有一个-nodefaultlibs来完成这个技巧并防止默认的链接器指令。虽然奇怪的是--help没有记录。

答案 1 :(得分:1)

你可以构建没有任何函数的伪libc.a,并与libc_nano一起使用。