Компиляция с помощью Clang с использованием неопределенных ссылок Libc ++

Первая пара слишком длинна для ссылки. Я получаю эту ошибку, когда пытаюсь скомпилировать clang ++ -stdlib = libc ++ ../main.cc ... с clang и libc ++ из SVN.

error: undefined reference to 'typeinfo for char const*'
error: undefined reference to '__cxa_allocate_exception'
error: undefined reference to '__cxa_throw'
/tmp/cc-pbn00y.o:../main.cc:function std::__1::deque<double, std::__1::allocator<double> >::__add_back_capacity(): error: undefined reference to '__cxa_begin_catch'
/tmp/cc-pbn00y.o:../main.cc:function std::__1::deque<double, std::__1::allocator<double> >::__add_back_capacity(): error: undefined reference to '__cxa_rethrow'
/tmp/cc-pbn00y.o:../main.cc:function std::__1::deque<double, std::__1::allocator<double> >::__add_back_capacity(): error: undefined reference to '__cxa_end_catch'
/tmp/cc-pbn00y.o(.eh_frame+0xbd3): error: undefined reference to '__gxx_personality_v0'

РЕШЕНИЕ: Благодаря одному из ответов я знаю решение. libc ++ не может использоваться сама по себе, как libstdc ++, она должна быть связана вместе с libc ++ abi . Однако libc ++ abi еще не завершена, поэтому использование libc ++ кажется немного неполным на данный момент, но это все равно мой первый выбор, когда он будет завершен.

ОБНОВЛЕНИЕ 26.05.2012: libc ++ abi теперь завершен для C ++, и я успешно использовал clang ++ следующим образом clang ++ -std = c ++ 11 -stdlib = libc ++ -lc ++ abi .

27
задан norcalli 26 May 2012 в 18:12
поделиться