Линкер для Клана?

Какой линкер я использую для clang? Если я использую clang или ld в качестве компоновщика, я получаю огромное количество ошибок, как будто я не связывался со стандартной библиотекой.

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

Кажется, мне нужно использовать g++, чтобы связать мои объекты clang.

Ответы

Ответ 1

Я использовал "clang" вместо "clang++", то есть он не связывал стандартную библиотеку С++.

Ответ 2

Вам не нужно использовать редактор ссылок llvm. Я не буду вдаваться в технические подробности, но, короче говоря, вам понадобится типичный редактор ссылок UNIX для использования Clang в это время (читайте: GNU ld или Sun ld). Даже llvm-ld использует базовый компоновщик платформы для связывания родных двоичных файлов.

Ответ 3

Последующее наблюдение: теперь 2016 год, и llvm добился определенного прогресса на своем собственном компоновщике. Он называется "lld", а находится здесь. Он отлично работает, чтобы создавать бинарные файлы i386 и x86_64, в то время как работа продолжается для других систем.

Это должно устранить зависимость от инструментов GNU для BSD, если она считается достаточно стабильной.