С Новым годом! Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/25: Рейтинг темы: голосов - 25, средняя оценка - 4.84
0 / 0 / 0
Регистрация: 09.03.2020
Сообщений: 4
1

Не компилируется код на C++ с помощью clang

09.03.2020, 18:31. Показов 4462. Ответов 10

Author24 — интернет-сервис помощи студентам
Не работает компиляция C++ кода в Ubuntu 18.04 через clang. Команда: clang test.cpp -o test Вывод:
Код
/tmp/test-87d456.o: In function `main':
test.cpp:(.text+0xa): undefined reference to `std::cout'
test.cpp:(.text+0x24): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
test.cpp:(.text+0x2a): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
test.cpp:(.text+0x36): undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))'
/tmp/test-87d456.o: In function `__cxx_global_var_init':
test.cpp:(.text.startup+0x13): undefined reference to `std::ios_base::Init::Init()'
test.cpp:(.text.startup+0x19): undefined reference to `std::ios_base::Init::~Init()'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Код файла test.cpp:
C++
1
2
3
4
5
6
#include <iostream>
 
int main () {
    std::cout << "Hello World!" << std::endl;
    return 0;
}[
Добавлено через 10 минут
UP ответьте
0
IT_Exp
Эксперт
8794 / 1073 / 104
Регистрация: 17.06.2006
Сообщений: 12,602
Блог
09.03.2020, 18:31
Ответы с готовыми решениями:

В формате .cpp код компилируется, а в .c не компилируется
1).Подскажите почему в формате .cpp код компилируется, а в .c не компилируется 2). Как сделать...

Почему в Dev-C++ код не компилируется, если исходный код будет с расширением ".c"?
Почему в Dev-C++ код не компилируется, если исходный код будет с расширением &quot;.c&quot; , а с &quot;.cpp&quot;...

Не компилируется код
main.cpp #include &lt;iostream&gt; #include &lt;fstream&gt; #include &quot;menu.h&quot; void foo1() { std::cout...

Не компилируется код
Добрый день , помогите пожалуйста , не могу откомпилировать .Скачал Qt с офф сайта под VS 2013+...

10
6340 / 3511 / 1427
Регистрация: 07.02.2019
Сообщений: 8,977
09.03.2020, 18:34 2
Cororo, а каталоги clang в PATH прописаны?
0
0 / 0 / 0
Регистрация: 09.03.2020
Сообщений: 4
09.03.2020, 18:41  [ТС] 3
Linux...

Добавлено через 6 минут
zayats80888
0
6340 / 3511 / 1427
Регистрация: 07.02.2019
Сообщений: 8,977
09.03.2020, 18:42 4
Цитата Сообщение от Cororo Посмотреть сообщение
zayats80888
Cororo?
0
0 / 0 / 0
Регистрация: 09.03.2020
Сообщений: 4
09.03.2020, 18:44  [ТС] 5
ну, я просто ответил на ваше собщение
0
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
09.03.2020, 18:45 6
Лучший ответ Сообщение было отмечено Cororo как решение

Решение

Цитата Сообщение от Cororo Посмотреть сообщение
clang test.cpp -o test
Команда clang для С (как и gcc), для C++ используйте clang++.
2
6340 / 3511 / 1427
Регистрация: 07.02.2019
Сообщений: 8,977
09.03.2020, 18:45 7
Лучший ответ Сообщение было отмечено Cororo как решение

Решение

Код
export PATH=/usr/local/clang_9.0.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/clang_9.0.0/lib:$LD_LIBRARY_PATH
1
0 / 0 / 0
Регистрация: 09.03.2020
Сообщений: 4
09.03.2020, 18:46  [ТС] 8
Всем спасибо огромное!
0
Неэпический
18112 / 10699 / 2062
Регистрация: 27.09.2012
Сообщений: 26,944
Записей в блоге: 1
10.03.2020, 10:46 9
Цитата Сообщение от valen10 Посмотреть сообщение
Команда clang для С
clang умеет на основании расширения .cpp определить, что работа идет с c++ кодом, но цеплять стандартную библиотеку нужно самостоятельно:
clang test.cpp -lstdc++

Добавлено через 3 минуты
вот, кстати: https://stackoverflow.com/a/20052006/10358504
0
Заблокирован
09.04.2020, 17:13 10
Cororo, Братуха-убунтовод.
Убунта, как и Дебиан("ДЕБИЛиан"), это операциоки для детей, случайно спрыгнувших с Винды)))
Нормальные инструменты разработки четко работают в Linux Fedora и CentOS. Особенно в Fedora. Там все передовое, проверенное и вылизанное. Если ты в Linux компилишь на C++, то это компилятор g++, если компилишь на чистом Си, то это gcc. Все эти понты типа "Кланг", "Гоу", "Хренанг" и прочее - это маркетинговые вбросы для детей и школьников с целью подсадить на кривые, в дальнейшем платные, инстументы. Как Оракл подсаживает на свою Джаву и как Гугл на свой никому не нужный "Гоу")))

Добавлено через 6 минут
Ставь себе на комп по любому, хоть в виртуалку, Fedora, инсталь там компиляторы и работай как белый человек. Легко ничего не бывает. "Нажал кнопку - все заработало" - это для Юзверей. Ты же не Юзверь)))
0
Заблокирован
17.04.2020, 13:34 11
Цитата Сообщение от Cororo Посмотреть сообщение
Не работает компиляция C++ кода в Ubuntu 18.04 через clang. Команда: clang test.cpp -o test Вывод:
Код
/tmp/test-87d456.o: In function `main':
test.cpp:(.text+0xa): undefined reference to `std::cout'
test.cpp:(.text+0x24): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
test.cpp:(.text+0x2a): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
test.cpp:(.text+0x36): undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))'
/tmp/test-87d456.o: In function `__cxx_global_var_init':
test.cpp:(.text.startup+0x13): undefined reference to `std::ios_base::Init::Init()'
test.cpp:(.text.startup+0x19): undefined reference to `std::ios_base::Init::~Init()'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Код файла test.cpp:
C++
1
2
3
4
5
6
#include <iostream>
 
int main () {
    std::cout << "Hello World!" << std::endl;
    return 0;
}[
Добавлено через 10 минут
UP ответьте
GCC аж с конца 80-х годов ведут историю, все наработано давно по-человечески
А clang - выкидышь от BSD после 2000 года вроде как, все притензии - к BSD
Пробовал тоже по началу компайлить в Ubuntu, потом в Debian. Ничего хорошего не выходит.
Все, что от RedHat, то бишь в пакетах .rpm, то норм, как только пользуешь софт на .deb пакетах,
то начинаются косяки

Добавлено через 14 минут
Цитата Сообщение от zayats80888 Посмотреть сообщение
Код
export PATH=/usr/local/clang_9.0.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/clang_9.0.0/lib:$LD_LIBRARY_PATH
Тут-то и видно, что clang лезет сверять код со своими подгружаемыми библиотеками,
а нормальный компилятор C/С++ в Линуксе стандартно лезет в папки /usr/include/.., где
и лежат заголовочные файлы, в том числе и iostream. Ощутите простоту и разницу в
использовании стандартных компиляторов
0
17.04.2020, 13:34
BasicMan
Эксперт
19315 / 2622 / 84
Регистрация: 17.02.2009
Сообщений: 10,364
Блог
17.04.2020, 13:34
Помогаю со студенческими работами здесь

Не компилируется код
была старая банка там все норм тянуло, работал на IDEA, сейчас на новом компе сижу, установил...

Не компилируется код
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;stdlib.h&gt; #include &lt;math.h&gt; using namespace...

Код не компилируется
Код не компилируется, компилятор выдаёт очень много ошибок! Скажите пожалуйста что исправить?...

Не компилируется код
Нашел данный код на одном из сайтов. Пытаюсь скомпилировать в gcc выдает ошибки. В си новичок. ...

Не компилируется код
Добрый день! Установил microsoft visual studio 2010 unlimite. Написал код, но, кнока &quot;отладка&quot; не...

Не компилируется код
#include &lt;stdio.h&gt; int main() { int i=1; int s=200; int sum=0; while (i&lt;=s) {...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Блоги программистов
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного суматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(аси­­хронный счётчик с управляющим сигналом задержки).
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
Применение компонентов PrimeVue в Vue.js 3 на TypeScript
BasicMan 04.01.2025
Введение в PrimeVue и настройка окружения PrimeVue представляет собой мощную библиотеку компонентов пользовательского интерфейса для Vue. js 3, которая предоставляет разработчикам богатый набор. . .
Как стать Senior developer
cpp_developer 04.01.2025
В современной индустрии разработки программного обеспечения позиция Senior Developer представляет собой не просто следующую ступень карьерной лестницы, а качественно новый уровень профессионального. . .
Что известно о дате выхода Windows 12 и чего от нее ждать
IT_Exp 04.01.2025
В мире технологий постоянно происходят изменения, и операционные системы не являются исключением. Windows 11, выпущенная в октябре 2021 года, принесла множество инноваций и улучшений, но. . .
Что новенького в .NET Core 9
Programming 04.01.2025
Обзор ключевых изменений в . NET Core 9 Платформа . NET Core продолжает активно развиваться, и версия 9 представляет собой значительный шаг вперед в эволюции этой технологии. Новый релиз. . .
Инструкция по установке python3.13.1 в Debian 12
AlexSky-coder 03.01.2025
sudo apt update sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget. . .
Затестил триггеры. архив проекта прилагаю с GOA файлами в настройках архиватора проектов.
Hrethgir 03.01.2025
В этот раз нет закольцованности, потому что от неё только глюки, как я понял, логика не вырезанная. Триггеры очень быстрые если верить измерениям с помощью анализатора от Gowin. Есть ещё регистры,. . .
Python в помощь DevOps
IT_Exp 03.01.2025
Причины использования Python в работе DevOps Python стал неотъемлемой частью мира DevOps, и это не случайно. Этот язык программирования обладает множеством преимуществ, которые делают его. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru