2010-10-13 8 views
13

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

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

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

ответ

21

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

3

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

3

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^