Отсутствие символов при использовании Clang с libc ++ в CentOS 7 (нет C ++ ABI lib?) - PullRequest
0 голосов
/ 01 марта 2019

Следующие пакеты были установлены из репозиториев на CentOS 7.6:

  • clang-3.4.2-9.el7.x86_64
  • libcxx-3.8.0-3.el7.x86_64
  • libcxx-devel-3.8.0-3.el7.x86_64

Попытка создать простую программу на C ++:

clang++ -std=c++11 -stdlib=libc++ junk.cpp

Это приводит ккуча ошибок компоновщика, пример:

/bin/../lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc++.so: undefined reference to `__cxa_throw'

AFAIK, похоже, это проблема отсутствия библиотеки C ++ ABI, но я не могу понять, как установить библиотеку, которая бы обеспечивала необходимые символы.Я, вероятно, мог бы создать его из исходного кода, но хотел бы придерживаться того, что доступно из надежных репозиториев.

Есть идеи, как это исправить?

Я могу нормально собрать программу, если опустить -stdlib=libc++, и в этом случае используется libstdc ++.

1 Ответ

0 голосов
/ 01 марта 2019

Попробуйте передать -lc++abi вручную.Эта проблема исправлена ​​в современных установках, но пакеты Linux не являются современными.Подумайте об использовании apt.llvm.org

...