Como você sabe, há um bug e bug em llvm para libstdc ++ 4.6. Eu acabei de compilar o llvm com o clang do trunk, de acordo com as instruções
Você tem que configurar os caminhos de inclusão, eu usei este comando para configurar e compilá-lo em F15 x86_64:
../llvm/configure \
--enable-optimized \
--disable-assertions \
--enable-jit \
--enable-libffi \
--enable-shared \
--with-c-include-dirs=/usr/include:$(find /usr/lib/gcc/*/* \
-maxdepth 0 -type d)/include \
--with-cxx-include-32bit-dir=32 \
--with-cxx-include-root=$(find /usr/include/c++/* -maxdepth 0 -type d) \
--with-cxx-include-arch=x86_64-redhat-linux
make -j3
sudo make install
Do que eu era capaz de compilar o mundo hello
#include <iostream>
int main() {
std::cout << "Hello, World!\n";
return 0;
}
com
clang -o hello hello.cpp -lstdc++
$ ./hello
Hello, World!
Esses documentos também podem ser interessantes.
Suponho que exista uma alternativa para usar o libc ++ , mas eu mesmo não tentei.
Os binários do Fedora llvm 2.9 não funcionarão devido a algumas dependências de mesa em 2.8.
Espero que isso ajude:)