2014-01-16 3 views
9

Я пытаюсь построить Clang после этого: http://clang.llvm.org/get_started.htmlСтроительство Clang, libstdC++ 4.6 для libstdC++ 4.7

На этапе 6 команд ../llvm/configure запускает серию проверок и один говорит мне:

checking whether Clang will select a modern C++ standard library... no 
configure: error: 
We detected a missing feature in the standard C++ library that was known to be 
missing in libstdc++4.6 and implemented in libstdc++4.7. There are numerous 
C++11 problems with 4.6's library, and we don't support GCCs or libstdc++ older 
than 4.7. You will need to update your system and ensure Clang uses the newer 
standard library. 

If this error is incorrect or you need to force things to work, you may pass 
'--disable-compiler-version-checks' to configure to bypass this test. 

Я не знаю, как решить эту проблему и искать в google libstdC++ 4.7 не принесло ничего полезного для меня или чего-то, что я понимаю. Как мне пойти на замену/обновление? Я нахожусь на Mac (10.7.5)

ответ

9

Я столкнулся с той же проблемой. Самый простой способ построить Clang - использовать libC++ вместо libstdC++. Если у вас нет libC++, вы можете получить его, установив XCode 4.2 (или новее), или вы можете создать его самостоятельно, следуя инструкциям здесь: http://libcxx.llvm.org/

После установки libC++ вы можете использовать --enable -libcpp = yes флаг с командой configure.

+0

Мне все равно пришлось сделать это сам, и это сработало, спасибо – asimes

+1

Это работает, только если вы находитесь на MacOSX, потому что libcxx работает только на MacOSX. В других Unix/Linux я считаю, что единственным решением является установка libstdC++ 4.7. – Albert

7

На этой неделе проект LLVM & Clang поднял минимальное требование к версии компилятора для gcc 4.7 с его libstdC++. Вам нужно будет установить или построить новый gcc.

Here's a blog post Я уже писал сегодня о строительстве gcc 4.8 на Ubuntu 12.04 и использовании этого для компиляции магистрали LLVM & Clang. Надеюсь это поможет!

+0

Я нашел ссылку для обновления gcc до 4.7 (для Mac), но, к сожалению, я все равно получаю то же сообщение. http://jamesreubenknowles.com/how-to-install-gcc-4-7-on-mac-os-x-1774 – asimes

+0

@asimes: вы уверены, что gcc 4.7 был установлен в месте, которое может найти скрипт configure? –

+0

Честно говоря, я не знаю, как это определить, я нашел другое решение проблемы, хотя – asimes

2

У меня такая же ошибка на макинтош 10.8.5 Xcode 5.0 пункт Настройка --enable-libcpp решить мою проблему ../llvm/configure --enable-cxx11 --enable-оптимизированный --enable-libcpp

0

Для меня это произошло из-за того, что у меня был старый clang и clang ++, который я ранее построил из источника (тот, который я пытался построить для замены), который появился первым в моем PATH. Они были слишком стары. Удалив эти два файла, чтобы процесс сборки использовал clang и clang ++, который поставляется с инструментами командной строки XCode, а затем переработал отлично.

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