- Неустранимая ошибка: iostream: нет такого файла или каталога при компиляции программы C с использованием GCC
- Решение
- Другие решения
- Ошибка при компиляции
- iostream.h: Нет такого файла или каталога (гугл не помог)
- Thread: problem with the compilation (fatal error: iostream: No such file or directory)
- problem with the compilation (fatal error: iostream: No such file or directory)
- Re: problem with the compilation (fatal error: iostream: No such file or directory)
- Re: problem with the compilation (fatal error: iostream: No such file or directory)
- Re: problem with the compilation (fatal error: iostream: No such file or directory)
- Re: problem with the compilation (fatal error: iostream: No such file or directory)
- Поиск iostream в Clang ++: фатальная ошибка: файл ‘iostream’ не найден
- Обновление (1)
- Обновление (2)
- Обновление (3)
- 3 ответа
Неустранимая ошибка: iostream: нет такого файла или каталога при компиляции программы C с использованием GCC
Почему, когда я хочу скомпилировать следующую многопоточную программу сортировки слиянием, я получаю эту ошибку:
Решение
ни ни являются стандартными заголовочными файлами C. Ваш код предназначен для C ++, где является действительным заголовком. использование g++ (и .cpp расширение файла) для кода C ++.
Кроме того, эта программа использует в основном конструкции, которые в любом случае доступны в Си. Достаточно просто преобразовать всю программу для компиляции с использованием компилятора Си. Просто удалить #include а также using namespace std; и заменить cout с putchar(‘\n’); … советую компилировать с использованием C99 (например. gcc -std=c99 )
Другие решения
Похоже, вы опубликовали новый вопрос после того, как поняли, что имеете дело с более простой проблемой, связанной с size_t , Я рад, что ты это сделал.
В любом случае, у вас есть .c исходный файл, и большая часть кода выглядит в соответствии со стандартами C, за исключением того, что #include а также using namespace std;
C эквивалент для встроенных функций стандарта C ++ #include можно получить через #include
- замещать #include с #include , удалять using namespace std;
С #include снял, вам понадобится стандартная альтернатива С для cout что может быть сделано printf(«\n»); или же putchar(‘\n’);
Из двух вариантов, printf(«\n»); работает быстрее, как я заметил.
Когда используется printf(«\n»); в приведенном выше коде вместо cout
Когда используется putchar(‘\n’); в приведенном выше коде вместо cout
Скомпилировано с Cygwin gcc (GCC) 4.8.3 версия. результаты усреднены по 10 выборкам. (Заняло у меня 15 минут)
Источник
Ошибка при компиляции
Делаю gcc program.c — получаю ошибку «program.c:1:20: fatal error: iostream: No such file or directory #include ^ compilation terminated.»
No such file or directory #include ^ compilation terminated.»
Попробуй perl program.c, должно отработать.
Где мне его взять то?
З.Ы. В Си не силён, особенно под линукс.
неа, кучей ошибок сыпет.
Он издевается. Это C++, поэтому надо использовать g++ и файл переименовать в program.cpp .
а я вот питону хочу поучиться.
нет, это, видимо, кто то с этой прогой поиздевался надо мной. так, ладно, тред этот на сноску.
Это смесь C и C++, также известная как C/C++. Просто в таком виде её надо компилировать уже как C++.
Эх. при компиляции через g++ тонну ошибок ошибок высыпает. буду копаться дальше =)
Читать же надо, как что использовать, а не копировать и пытаться собрать в последний момент. Ошибки линкера, я полагаю:
Не делай так никогда, пожалуйста
Не пиши на суржике — это ни к чему хорошему не приведёт. Толи на том, толи на том — не надо смешивать.
Нужно добавить еще переводов между строками. Иначе квест слишком легкий получается.
А надо «Делаю gcc program.cpp»
Не надо. GCC по расширению файла определит, C это, или C++. В конце концов, можно подсунуть GCC опцию -x lang, где lang — либо c, либо c++, что позволит явно указать, на каком языке пишут в этом файле.
Да что ты говоришь?
Я не знаю, что за скрипт линкера у твоего GCC, что он не подхватывает std::cout и прочие iostreams при компиляции плюсовой программы (пусть даже в ней густо насыпано сишного кода).
Обычный gcc-5.3 из генты, собирается если добавить -lstdc++.
Это понятно, непонятно, отчего её по умолчанию не применяет линкер.
Это понятно, непонятно, отчего её по умолчанию не применяет линкер(при сборке с помощью GNU C Compiler).
Вы откуда такие беретесь?
Это понятно, непонятно, отчего её по умолчанию не применяет линкер(при сборке с помощью GNU C Compiler)
GCC, the GNU Compiler Collection — ты в каком году в криокамеру залёг?
Источник
iostream.h: Нет такого файла или каталога (гугл не помог)
Conio.h: Нет такого файла или каталога
#include #include // Упр3.cpp:3:19: fatal error: conio.h: Нет такого файла.
G++: error: std=c++11: Нет такого файла или каталога
Всем доброго времени суток. Только несколько минут назад я столкнулся с таким случаем: при.
Компиляция error: mysql.h: Нет такого файла или каталога
при компиляции cpp файла g++ create.cpp -l /usr/include/mysql /usr/lib/mysql/libmysqlclient.so.
AntiDriver, а в путях инклуда, в которых компилер ищет, есть вообще такая либа? Командой g++ компилишь?
Добавлено через 1 минуту
тебе уже говорили, у этого файла нет расширения. только имя.
к тому же, две ошибки в одной строке:
Тогда надо установить пакет с названием что-то типа c++devel
Добавлено через 14 секунд
Или g++devel, или libstdc++
Добавлено через 4 минуты
Кстати, g++ точно установлен? А то ты показал, что gcc запускаешь
Добавлено через 1 минуту
Нашёл. У меня установлены пакеты libstdc++, libstdc++-6-4.4-dev
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Работа dlopen. dlerror выдает, что нет такого каталога или файла
Почему не работает dlopen: пишу простой пример с загрузкой void * Lib = dlopen («libqmng.so».
Нет такого файла или каталога
Написал скрипт, который проверяет раз в 10 минут активный ли сервер, и если активный запускает.
QtGui: Нет такого файла или каталога
Как и рекомендовали — создал отдельную тему. итак: Есть система Linux Ubuntu 12.04, поставил на.
Источник
Thread: problem with the compilation (fatal error: iostream: No such file or directory)
Thread Tools
Display
problem with the compilation (fatal error: iostream: No such file or directory)
Hello!
I am very sorry I only speak a little English.
I have a problem with the compilation.
This is a simple examples:
Re: problem with the compilation (fatal error: iostream: No such file or directory)
Hello and welcome to the forums
You have 2 versions of libstdc++6 dev (libstdc++6-4.4-dev and libstdc++6-4.6-dev) — is one of them consistent with the current version of g++ ? what is the result of
Re: problem with the compilation (fatal error: iostream: No such file or directory)
Re: problem with the compilation (fatal error: iostream: No such file or directory)
One thing is in the #includes, they are missing the .h
they should be #include
that is why you get the error «no such file or directory»
Re: problem with the compilation (fatal error: iostream: No such file or directory)
^^^ sorry that’s just incorrect — the use of the .h forms in C++ is deprecated, see
The iostream file is provided by the corresponding libstdc++6 package e.g.
The only thing wrong I see with the OP’s code is not providing a namespace using directive — but AFAIK that won’t cause the ‘file not found’ error, it will just produce errors like «‘cout’ was not declared in this scope» and so on
Last edited by steeldriver; December 27th, 2013 at 10:09 PM .
Источник
Поиск iostream в Clang ++: фатальная ошибка: файл ‘iostream’ не найден
Я написал следующую простую программу на C ++:
Когда я компилирую это с g ++, это работает отлично. Когда я пытаюсь скомпилировать с Clang ++, я получаю следующую ошибку:
Работая с параметром -v , я вижу следующее:
Рассматривая эти папки по отдельности, я обнаружил, что в /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++ (или, более кратко, в /usr/include/c++ ) у меня есть следующие каталоги:
В каждом из каталогов 5 , 7 и v1 существует файл с именем iostream
Также в /usr/include/x86_64-linux-gnu существует каталог c++ , который выглядит точно так же (с каталогами 5 , 7 , 5.5.0 и 7.3.0 ,
Также в /usr/include существует каталог c++ , который выглядит точно так же, как два выше
Я не уверен, как моя среда разработки превратилась в такой беспорядок, но на данный момент я просто хотел бы знать, как это исправить, чтобы Clang ++ успешно нашел один из этих 9 экземпляров iostream вместо того, чтобы выдавать ошибку что его не существует. Нужно ли добавлять переменную окружения, чтобы указать Clang, где искать? Нужно ли передавать параметр командной строки, чтобы сказать Clang рекурсивный поиск?
Обновление (1)
Когда я пытаюсь построить с libc++ , я получаю следующую ошибку:
Когда я пытаюсь построить с включенным вручную путем включения, я получаю следующую ошибку:
Когда я пробую оба, я получаю следующую (невероятно большую) ошибку:
Напоминаю, что я буквально пытаюсь скомпилировать Hello, World .
Я также попытался удалить и переустановить Clang с помощью следующей команды:
Это не имело никакого эффекта. Я использую Ubuntu 18.04 и понятия не имею, что не так или с чего начать, чтобы исправить это. Моя среда сборки находится в руинах.
Если возможно, я бы хотел, чтобы Clang работал, а не возвращался к использованию G ++, потому что моя IDE, похоже, автоматически обнаруживает Clang и использует его для проверки синтаксиса. Это означает, что каждая написанная мною программа C ++ имеет одну фатальную ошибку в первой строке («iostream not found»), а остальная часть файла не проверяется, потому что первая — фатальная ошибка.
Обновление (2)
Я попытался установить еще несколько пакетов из репозитория Ubuntu apt, но безуспешно:
Я также попытался sudo apt-get install lc++1 найти только совершенно не связанный пакет.
Обновление (3)
Я потратил еще несколько часов, пытаясь решить эту проблему, устанавливая несколько пакетов как из apt, так и из исходных текстов, пробуя разные версии различных инструментов, вручную копируя в библиотеки из других источников, и даже переходил на Clang IRC и общался с несколькими очень хорошо осведомленными разработчиками напрямую. ,
Никто не смог понять, что случилось с моим ноутбуком, и ничто из того, что я делал, не заставляло его работать.
К сожалению, через две недели у меня все еще не будет этого ноутбука, поэтому мне, вероятно, придется закрыть эту проблему, поскольку она «не может воспроизвести» — потому что после того, как ноутбук уйдет, у меня не будет возможности воспроизвести испорченную среду разработки.
3 ответа
Я также был обеспокоен этой проблемой в течение длительного времени. Вы должны попытаться удалить папку (cd / usr / lib / gcc / aarch64-linux-gnu / 8). Причина, по которой clang ++ не может работать, состоит в том, что эта папка не содержит libstdc ++. A.
Проверьте, что все папки в / usr / lib / gcc / aarch64-linux-gnu / clang ++ выберут последнюю, убедитесь, что в последнем есть libstdc ++. a
Я обнаружил, что clang использовал установку в /usr/lib/gcc/x86_64-linux-gnu/8 (используя clang++ -v ), и в действительности в ней не было файла libstdc++.a . Вместо того, чтобы удалить весь каталог, как было предложено в другом ответе, я смог просто установить libstdc++-8-dev .
Я на Ubuntu 18.04; gcc уже был установлен.
Сначала найдите вашу версию (путь):
Затем добавьте пути включения и замените 8 своей версией:
Это работает для меня в Linux:
Также вы можете использовать CPLUS_INCLUDE_PATH:
Источник