Линкер для Clang?

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

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

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

3 ответа

Решение

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

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

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

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

Другие вопросы по тегам