Как мне скомпилировать C ++ с помощью Clang? - PullRequest
82 голосов
/ 05 февраля 2012

Я установил Clang с помощью apt-get в Ubuntu, и я могу успешно скомпилировать файлы C, используя его Тем не менее, я понятия не имею, как скомпилировать C ++ через него. Что мне нужно сделать, чтобы скомпилировать C ++?

Ответы [ 4 ]

126 голосов
/ 05 февраля 2012

Команда clang для C, а команда clang++ для C ++.

44 голосов
/ 17 января 2013

Кроме того, для потомков - Clang (например, GCC) принимает переключатель -x для установки языка входных файлов, например,

$ clang -x c++ some_random_file.txt

Эта ветка списка рассылки хорошо объясняет разницу между clang и clang++: Разница между clang и clang ++

29 голосов
/ 14 июня 2017

Я не знаю, почему нет ответа, непосредственно касающегося проблемы. Когда вы хотите скомпилировать программу на C ++, лучше всего использовать clang++. Например, у меня работает следующее:

clang++ -Wall -std=c++11 test.cc -o test

Если скомпилировано правильно, он создаст исполняемый файл test, и вы можете запустить файл с помощью ./test.

Или вы можете просто использовать clang++ test.cc для компиляции программы. Он создаст исполняемый файл по умолчанию с именем a.out. Используйте ./a.out для запуска файла.

Весь процесс очень похож на g ++, если вы знакомы с g ++. См. этот пост , чтобы проверить, какие предупреждения включены с опцией -Wall. На этой странице показан список диагностических флагов, поддерживаемых Clang.

3 голосов
/ 05 февраля 2012

У меня была похожая проблема при сборке Clang из исходного кода (но не с sudo apt-get install. Это может зависеть от используемой версии Ubuntu).

Возможно, стоит проверить, может ли clang++ найти правильные местоположения ваших библиотек C ++:

Сравните результаты g++ -v <filename.cpp> и clang++ -v <filename.cpp> в разделе "#include <...> поиск начинается здесь:".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...