Linker for Clang?

2019-02-11 22:58发布

Which linker do I use for clang? If I use clang or ld as a linker, I get massive amounts of errors as if I didn't link with the standard library.

g++ $(OBJS) -o $(BINDIR)/obtap

It seems I have to use g++ in order to link my clang objects.

3条回答
贪生不怕死
2楼-- · 2019-02-11 23:36

You do not have to use llvm's link editor. I will avoid getting into the technical details, but, in short, you will need to have a typical UNIX link editor available to use Clang at this time (read: GNU ld or Sun ld). Even llvm-ld uses the underlying platform's linker to link native binaries.

查看更多
SAY GOODBYE
3楼-- · 2019-02-11 23:36

Followup: it's now 2016, and llvm has made some steady progress on their own linker. It's called "lld", and the website is here. It works fine to create i386 and x86_64 binaries, while work is ongoing to target other systems.

This should remove the dependency on GNU tools for BSDs, once it is considered stable enough.

查看更多
叼着烟拽天下
4楼-- · 2019-02-11 23:37

I was running 'clang' instead of 'clang++', meaning it didn't link the c++ standard library.

查看更多
登录 后发表回答