Начало работы над Fedora 15

Я установил Clang через Yum:

yum install clang

К сожалению, даже простой "Hello World!" не будет компилироваться, потому что он пытается использовать заголовки libstdC++4.6 (который, я думаю, имеет функции C++0x, которые не понимает clang). Я не смог найти пакет libstdC++ 4.5, только для F14, который явно не устанавливался.

Я даже попытался установить двоичные файлы 2.9, а также скомпилировал и установил для себя соединительную линию svn. Ничего из этого не помогло.

Я помню, что у меня была такая же проблема в Ubuntu, но я смог решить ее, установив заголовки libstdC++ 4.5.

Итак, как люди используют Clang на Fedora?

1 ответ

Решение

Как вы знаете, в libvdC++4.6 есть ошибка и ошибка в llvm. Я только что скомпилировал llvm с лязгом из ствола, в соответствии с этой инструкцией

Вы должны настроить пути включения, я использовал эту команду для настройки и компиляции на 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

Чем я смог составить привет мир

#include <iostream>

int main() {
  std::cout << "Hello, World!\n";
  return 0;
}

с

clang -o hello hello.cpp -lstdc++

$ ./hello 
Hello, World!

Эта документация также может представлять интерес.

Я полагаю, что есть альтернатива для использования libC++, но я сам не пробовал.

Двоичные файлы Fedora llvm 2.9 не будут работать из-за некоторых зависимостей mesa от 2.8.

Надеюсь это поможет:)

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