Меню

Фатальная ошибка iostream нет такого файла или каталога

Why when I wan to compile the following multi thread merge sorting C program, I receive this error:

ap@sharifvm:~/forTHE04a$ gcc -g -Wall -o mer mer.c -lpthread
mer.c:4:20: fatal error: iostream: No such file or directory
 #include <iostream>
                    ^
compilation terminated.
ap@sharifvm:~/forTHE04a$ gcc -g -Wall -o mer mer.c -lpthread
mer.c:4:22: fatal error: iostream.h: No such file or directory
 #include <iostream.h>
                      ^
compilation terminated.

My program:

#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <iostream>
using namespace std;

#define N 2  /* # of thread */

int a[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};  /* target array */

/* structure for array index
 * used to keep low/high end of sub arrays
 */
typedef struct Arr {
    int low;
    int high;
} ArrayIndex;

void merge(int low, int high)
{
        int mid = (low+high)/2;
        int left = low;
        int right = mid+1;

        int b[high-low+1];
        int i, cur = 0;

        while(left <= mid && right <= high) {
                if (a[left] > a[right])
                        b[cur++] = a[right++];
                else
                        b[cur++] = a[right++];
        }

        while(left <= mid) b[cur++] = a[left++];
        while(right <= high) b[cur++] = a[left++];
        for (i = 0; i < (high-low+1) ; i++) a[low+i] = b[i];
}

void * mergesort(void *a)
{
        ArrayIndex *pa = (ArrayIndex *)a;
        int mid = (pa->low + pa->high)/2;

        ArrayIndex aIndex[N];
        pthread_t thread[N];

        aIndex[0].low = pa->low;
        aIndex[0].high = mid;

        aIndex[1].low = mid+1;
        aIndex[1].high = pa->high;

        if (pa->low >= pa->high) return 0;

        int i;
        for(i = 0; i < N; i++) pthread_create(&thread[i], NULL, mergesort, &aIndex[i]);
        for(i = 0; i < N; i++) pthread_join(thread[i], NULL);

        merge(pa->low, pa->high);

        //pthread_exit(NULL);
        return 0;
}

int main()
{
        ArrayIndex ai;
        ai.low = 0;
        ai.high = sizeof(a)/sizeof(a[0])-1;
        pthread_t thread;

        pthread_create(&thread, NULL, mergesort, &ai);
        pthread_join(thread, NULL);

        int i;
        for (i = 0; i < 10; i++) printf ("%d ", a[i]);
        cout << endl;

        return 0;
}

0 / 0 / 1

Регистрация: 05.06.2010

Сообщений: 17

1

01.03.2012, 02:39. Показов 19055. Ответов 19


Доброе время суток.
Пользуюсь linux ubuntu 10.04.4, хочу научиться писать на си (знаю только паскаль), наиболее удобной средой для меня (когда писал на паскале) была Geany. Но при попытке откомпилировать программу на си со сточкой #include <iostream.h> выводит указанную в заголовке ошибку. Файл stdio.h видит, а iostream.h уже нет. Пробовал убирать расширение — не помогло. Установил другую среду — NetBeans, там такая же фигня. Поэтому подскажите пожалуйста, как с этим справиться? В гугле нашёл только решение для windows.

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Почетный модератор

7388 / 2634 / 281

Регистрация: 29.07.2006

Сообщений: 13,696

01.03.2012, 02:44

2

AntiDriver, а в путях инклуда, в которых компилер ищет, есть вообще такая либа? Командой g++ компилишь?

Добавлено через 1 минуту

Цитата
Сообщение от AntiDriver
Посмотреть сообщение

Но при попытке откомпилировать программу на си со сточкой #include <iostream.h>

постой, нафига тебе на си иострим? Это плюсы. Руками компилируй, хватит среды насиловать.



0



бжни

2473 / 1684 / 135

Регистрация: 14.05.2009

Сообщений: 7,162

01.03.2012, 03:13

3

в си нету, не было и не будет iostream



0



0 / 0 / 1

Регистрация: 05.06.2010

Сообщений: 17

01.03.2012, 13:39

 [ТС]

4

Я же уже говорил, что знаю только паскаль, в си по нулям, скачал несколько книжек, там приводятся примеры кода с этим iostream



0



Почетный модератор

7388 / 2634 / 281

Регистрация: 29.07.2006

Сообщений: 13,696

01.03.2012, 13:47

5

Цитата
Сообщение от AntiDriver
Посмотреть сообщение

в си по нулям, скачал несколько книжек, там приводятся примеры кода с этим iostream

Тебе уже сказали, что это не си, а плюсы.



0



fasked

Эксперт С++

5038 / 2617 / 241

Регистрация: 07.10.2009

Сообщений: 4,310

Записей в блоге: 1

01.03.2012, 16:03

6

Цитата
Сообщение от AntiDriver
Посмотреть сообщение

#include <iostream.h>

и даже если на C++, то все равно неправильно.

C++
1
#include <iostream>



0



Эксперт CАвтор FAQ

21264 / 8280 / 637

Регистрация: 30.03.2009

Сообщений: 22,635

Записей в блоге: 30

01.03.2012, 18:26

7

Цитата
Сообщение от AntiDriver
Посмотреть сообщение

скачал несколько книжек, там приводятся примеры кода с этим iostream

Скорее всего ты невнимательно прочитал название книги, и книга была по Си++, а не по Си. Но если книга была по Си, то смело выбрасывай её в помойку



0



0 / 0 / 1

Регистрация: 05.06.2010

Сообщений: 17

01.03.2012, 21:34

 [ТС]

8

Уже терпение лопается. Все книжки, которые скачиваю, даже по си без плюсов, там этот iostream. Подскажите какую-нибудь где его нет, пожалуйста.



0



Эксперт CАвтор FAQ

21264 / 8280 / 637

Регистрация: 30.03.2009

Сообщений: 22,635

Записей в блоге: 30

01.03.2012, 21:54

9



0



Эксперт С++

3211 / 1459 / 73

Регистрация: 09.08.2009

Сообщений: 3,441

Записей в блоге: 2

01.03.2012, 22:35

10

Цитата
Сообщение от AntiDriver
Посмотреть сообщение

даже по си без плюсов, там этот iostream

можно пример?



0



0 / 0 / 1

Регистрация: 05.06.2010

Сообщений: 17

01.03.2012, 22:45

 [ТС]

11

Удалил уже эту книжку, к сожалению. Хорошо, а как тогда заставить компиляторы с++ в linux видеть этот iostream? Сколько уже сред не ставил, везде одна и та же фигня, не видят. Иначе придётся писать программы под виртуалкой и только для винды. А для собственных нужд как и раньше на паскале.



0



Эксперт CАвтор FAQ

21264 / 8280 / 637

Регистрация: 30.03.2009

Сообщений: 22,635

Записей в блоге: 30

01.03.2012, 23:14

12

Надо установить компилятор g++ (и его же запускать)



0



Почетный модератор

7388 / 2634 / 281

Регистрация: 29.07.2006

Сообщений: 13,696

02.03.2012, 02:11

13

Цитата
Сообщение от AntiDriver
Посмотреть сообщение

Сколько уже сред не ставил, везде одна и та же фигня, не видят

А ты не среду ставь, запускай компилятор напрямую и компилируй.



0



0 / 0 / 1

Регистрация: 05.06.2010

Сообщений: 17

02.03.2012, 23:25

 [ТС]

14

Так в том то и дело что g++ (и даже gcc) установлены.

Код

yegor@t9ttt97t:~/Рабочий стол$ cat 1.cpp
#include <iostream.h>
void main();
{
}

yegor@t9ttt97t:~/Рабочий стол$ gcc 1.cpp
1.cpp:1:22: error: iostream.h: Нет такого файла или каталога



0



Эксперт С++

3211 / 1459 / 73

Регистрация: 09.08.2009

Сообщений: 3,441

Записей в блоге: 2

02.03.2012, 23:41

15

Цитата
Сообщение от AntiDriver
Посмотреть сообщение

iostream.h

тебе уже говорили, у этого файла нет расширения. только имя.

к тому же, две ошибки в одной строке:

Цитата
Сообщение от AntiDriver
Посмотреть сообщение

void main();



0



Эксперт CАвтор FAQ

21264 / 8280 / 637

Регистрация: 30.03.2009

Сообщений: 22,635

Записей в блоге: 30

03.03.2012, 00:18

16

Тогда надо установить пакет с названием что-то типа c++devel

Добавлено через 14 секунд
Или g++devel, или libstdc++

Добавлено через 4 минуты
Кстати, g++ точно установлен? А то ты показал, что gcc запускаешь

Добавлено через 1 минуту
Нашёл. У меня установлены пакеты libstdc++, libstdc++-6-4.4-dev



0



0 / 0 / 1

Регистрация: 05.06.2010

Сообщений: 17

03.03.2012, 01:34

 [ТС]

17

Эти пакеты уже установлены.



0



Эксперт С++

3211 / 1459 / 73

Регистрация: 09.08.2009

Сообщений: 3,441

Записей в блоге: 2

03.03.2012, 02:52

18

ты ошибки в своей мегапрограмме исправил?
компилишь с помощью g++ ?



0



Почетный модератор

7388 / 2634 / 281

Регистрация: 29.07.2006

Сообщений: 13,696

03.03.2012, 11:40

19

AntiDriver,

$ cat > main.cpp
#include<iostream>
int main()
{
}
$ g++ main.cpp
$ ll
total 20
drwxrwxr-x 2 vourhey vourhey 4096 2012-03-03 11:34 ./
drwxrwxr-x 4 vourhey vourhey 4096 2012-03-03 11:33 ../
-rwxrwxr-x 1 vourhey vourhey 7483 2012-03-03 11:34 a.out*
-rw-rw-r— 1 vourhey vourhey 33 2012-03-03 11:33 main.cpp



0



0 / 0 / 1

Регистрация: 05.06.2010

Сообщений: 17

04.03.2012, 17:53

 [ТС]

20

Да, исправил всё, всё откомпилировалось. Один пакет из зависимостей почему-то не был установлен. Всем спасибо за ответы!



0



Possible Duplicate:
No such file iostream.h when including

Even after naming the source file with .cpp extension. my compiler gives this error, both in command prompt and Codeblocks. How can I fix this issue?

#include <iostream.h>


int main(){

    cout<<"Hello World!n";
    return 0;
}

Community's user avatar

asked Oct 24, 2012 at 13:12

Assasins's user avatar

1

That header doesn’t exist in standard C++. It was part of some pre-1990s compilers, but it is certainly not part of C++.

Use #include <iostream> instead. And all the library classes are in the std:: namespace, for ex­am­ple std::cout.

Also, throw away any book or notes that mention the thing you said.

Puppy's user avatar

Puppy

143k36 gold badges252 silver badges457 bronze badges

answered Oct 24, 2012 at 13:14

Kerrek SB's user avatar

Kerrek SBKerrek SB

457k91 gold badges866 silver badges1073 bronze badges

3

Using standard C++ calling (note that you should use namespace std for cout or add using namespace std;)

#include <iostream>

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

paxdiablo's user avatar

paxdiablo

837k230 gold badges1560 silver badges1928 bronze badges

answered Oct 24, 2012 at 13:14

il_guru's user avatar

il_guruil_guru

8,2732 gold badges43 silver badges51 bronze badges

1

You should be using iostream without the .h.

Early implementations used the .h variants but the standard mandates the more modern style.

answered Oct 24, 2012 at 13:14

paxdiablo's user avatar

paxdiablopaxdiablo

837k230 gold badges1560 silver badges1928 bronze badges

Possible Duplicate:
No such file iostream.h when including

Even after naming the source file with .cpp extension. my compiler gives this error, both in command prompt and Codeblocks. How can I fix this issue?

#include <iostream.h>


int main(){

    cout<<"Hello World!n";
    return 0;
}

Community's user avatar

asked Oct 24, 2012 at 13:12

Assasins's user avatar

1

That header doesn’t exist in standard C++. It was part of some pre-1990s compilers, but it is certainly not part of C++.

Use #include <iostream> instead. And all the library classes are in the std:: namespace, for ex­am­ple std::cout.

Also, throw away any book or notes that mention the thing you said.

Puppy's user avatar

Puppy

143k36 gold badges252 silver badges457 bronze badges

answered Oct 24, 2012 at 13:14

Kerrek SB's user avatar

Kerrek SBKerrek SB

457k91 gold badges866 silver badges1073 bronze badges

3

Using standard C++ calling (note that you should use namespace std for cout or add using namespace std;)

#include <iostream>

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

paxdiablo's user avatar

paxdiablo

837k230 gold badges1560 silver badges1928 bronze badges

answered Oct 24, 2012 at 13:14

il_guru's user avatar

il_guruil_guru

8,2732 gold badges43 silver badges51 bronze badges

1

You should be using iostream without the .h.

Early implementations used the .h variants but the standard mandates the more modern style.

answered Oct 24, 2012 at 13:14

paxdiablo's user avatar

paxdiablopaxdiablo

837k230 gold badges1560 silver badges1928 bronze badges

Всем доброго времени суток.Итак, проблема наболевшая, перерыл гуглю, ответов множество.Все эти решения принимались мной в расчёт, но увы.Помогите, пожалуйста, разобраться.Очень прошу меня услышать.

Итак, есть первая программа, типа Hello world :

#include <iostream>
using namespace std;
main ()
{
   cout << "Добро пожаловать в C++!n";

   return 0;

}


До указания пространства имён идентификаторов std, писало :

fatal error: iostream: Нет такого файла или каталога
Указавши его, происходит вот такая ошибка:

alexandr@Alexandr:~$ cc welcom.cpp
/tmp/cclfxBtN.o: In function `main':
welcom.cpp:(.text+0x14): undefined reference to `std::cout'
welcom.cpp:(.text+0x19): 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*)'
/tmp/cclfxBtN.o: In function `__static_initialization_and_destruction_0(int, int)':
welcom.cpp:(.text+0x41): undefined reference to `std::ios_base::Init::Init()'
welcom.cpp:(.text+0x46): undefined reference to `std::ios_base::Init::~Init()'
/tmp/cclfxBtN.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status

Вы, сейчас сожете сказать, что не подключены библиотеки для iostream, логично, но и здесь я перерыл свой Синаптик.Какие махинации я только не совершал, что только не пытался включить/отключить.Честно говоря, я уже сам толком не знаю должны ли быть включены те или иные библиотеки, но метод тыка результата не дал.

Ах да, sudo apt-get install build-essential, этот этап производился.
При команде:

alexandr@Alexandr:~$ aptitude search iostream
i   libboost-iostreams-dev          - Boost.Iostreams Library development files
p   libboost-iostreams1.40-dev      - Boost.Iostreams Library development files
c   libboost-iostreams1.40.0        - Boost.Iostreams Library                   
i   libboost-iostreams1.42-dev      - Boost.Iostreams Library development files
i A libboost-iostreams1.42.0        - Boost.Iostreams Library
выдаёт информацию такого рода, может это на что-то укажет, уж я не знаю.

Вопросы, естественно, по существу :как с этим бороться ?Чего не хватает мне, подскажите ?
И ещё вопрос, возможно ли полностью отключить/удалить компилятор и настроить его заново, если да, каким образом ?

Почему, когда я хочу скомпилировать следующую многопоточную программу сортировки слиянием, я получаю эту ошибку:

ap@sharifvm:~/forTHE04a$ gcc -g -Wall -o mer mer.c -lpthread
mer.c:4:20: fatal error: iostream: No such file or directory
#include <iostream>
^
compilation terminated.
ap@sharifvm:~/forTHE04a$ gcc -g -Wall -o mer mer.c -lpthread
mer.c:4:22: fatal error: iostream.h: No such file or directory
#include <iostream.h>
^
compilation terminated.

Моя программа:

#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <iostream>
using namespace std;

#define N 2  /* # of thread */

int a[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};  /* target array */

/* structure for array index
* used to keep low/high end of sub arrays
*/
typedef struct Arr {
int low;
int high;
} ArrayIndex;

void merge(int low, int high)
{
int mid = (low+high)/2;
int left = low;
int right = mid+1;

int b[high-low+1];
int i, cur = 0;

while(left <= mid && right <= high) {
if (a[left] > a[right])
b[cur++] = a[right++];
else
b[cur++] = a[right++];
}

while(left <= mid) b[cur++] = a[left++];
while(right <= high) b[cur++] = a[left++];
for (i = 0; i < (high-low+1) ; i++) a[low+i] = b[i];
}

void * mergesort(void *a)
{
ArrayIndex *pa = (ArrayIndex *)a;
int mid = (pa->low + pa->high)/2;

ArrayIndex aIndex[N];
pthread_t thread[N];

aIndex[0].low = pa->low;
aIndex[0].high = mid;

aIndex[1].low = mid+1;
aIndex[1].high = pa->high;

if (pa->low >= pa->high) return 0;

int i;
for(i = 0; i < N; i++) pthread_create(&thread[i], NULL, mergesort, &aIndex[i]);
for(i = 0; i < N; i++) pthread_join(thread[i], NULL);

merge(pa->low, pa->high);

//pthread_exit(NULL);
return 0;
}

int main()
{
ArrayIndex ai;
ai.low = 0;
ai.high = sizeof(a)/sizeof(a[0])-1;
pthread_t thread;

pthread_create(&thread, NULL, mergesort, &ai);
pthread_join(thread, NULL);

int i;
for (i = 0; i < 10; i++) printf ("%d ", a[i]);
cout << endl;

return 0;
}

5

Решение

ни <iostream> ни <iostream.h> являются стандартными заголовочными файлами C. Ваш код предназначен для C ++, где <iostream> является действительным заголовком. использование g++.cpp расширение файла) для кода C ++.

Кроме того, эта программа использует в основном конструкции, которые в любом случае доступны в Си. Достаточно просто преобразовать всю программу для компиляции с использованием компилятора Си. Просто удалить #include <iostream> а также using namespace std;и заменить cout << endl; с putchar('n');… советую компилировать с использованием C99 (например. gcc -std=c99)

24

Другие решения

Похоже, вы опубликовали новый вопрос после того, как поняли, что имеете дело с более простой проблемой, связанной с size_t, Я рад, что ты это сделал.

В любом случае, у вас есть .c исходный файл, и большая часть кода выглядит в соответствии со стандартами C, за исключением того, что #include <iostream> а также using namespace std;

C эквивалент для встроенных функций стандарта C ++ #include<iostream> можно получить через #include<stdio.h>

  1. замещать #include <iostream> с #include <stdio.h>, удалять using namespace std;
  2. С #include <iostream> снял, вам понадобится стандартная альтернатива С для cout << endl;что может быть сделано printf("n"); или же putchar('n');
    Из двух вариантов, printf("n"); работает быстрее, как я заметил.

    Когда используется printf("n"); в приведенном выше коде вместо cout<<endl;

    $ time ./thread.exe
    1 2 3 4 5 6 7 8 9 10
    
    real    0m0.031s
    user    0m0.030s
    sys     0m0.030s
    

    Когда используется putchar('n'); в приведенном выше коде вместо cout<<endl;

    $ time ./thread.exe
    1 2 3 4 5 6 7 8 9 10
    
    real    0m0.047s
    user    0m0.030s
    sys     0m0.030s
    

Скомпилировано с Cygwin gcc (GCC) 4.8.3 версия. результаты усреднены по 10 выборкам. (Заняло у меня 15 минут)

4

Содержание

  1. Hello World не компилируеться в g++
  2. Re: Hello World не компилируеться в g++
  3. Re: Hello World не компилируеться в g++
  4. Re: Hello World не компилируеться в g++
  5. Re: Hello World не компилируеться в g++
  6. Re: Hello World не компилируеться в g++
  7. Re: Hello World не компилируеться в g++
  8. Re: Hello World не компилируеться в g++
  9. Re: Hello World не компилируеться в g++
  10. Re: Hello World не компилируеться в g++
  11. Re: Hello World не компилируеться в g++
  12. Re: Hello World не компилируеться в g++
  13. Re: Hello World не компилируеться в g++
  14. iostream.h: Нет такого файла или каталога (гугл не помог)
  15. Gentoo, Qt-creator не видит iostream
  16. iostream: нет такого файла или каталога
  17. Решение
  18. Другие решения
  19. Iostream: нет такого файла или каталога

Hello World не компилируеться в g++

Подскажите куда копать, вроде все верно.

42141: 478587646

p

Re: Hello World не компилируеться в g++

>> Подскажите куда копать, вроде все верно.

Судя по всему g++ не может найти свои же стандартные включаемые файлы. Проверь что они установлены.

p

Re: Hello World не компилируеться в g++

Возможно что эти файлы просто в каком-то отдельном пакете. Попробуй поискать что-то типа libstdc++-devel (зависит от дистрибутива).

p

Re: Hello World не компилируеться в g++

файл звется iostream.h, а не iostream

25894: 1549580797

Re: Hello World не компилируеться в g++

p

Re: Hello World не компилируеться в g++

sudo aptitude install build-essential

Re: Hello World не компилируеться в g++

Вылезай из анабиоза, файл зоввётся iostreams (а не iostream, и не iostream.h)

Re: Hello World не компилируеться в g++

iostream.h он был в мохнатые годы

Re: Hello World не компилируеться в g++

какой такой iostreams? Мб ios?

42229: 66835685

Re: Hello World не компилируеться в g++

Хы, файл называется c++/4.2/iostream 🙂

PS у меня пример компилируется и выполняется, значит не хватает devel-пакета для gcc. Тока там перевода каретки не хватает.

42141: 478587646

Re: Hello World не компилируеться в g++

42141: 478587646

Re: Hello World не компилируеться в g++

Проблема решена, незаметил команду g++-gcc-4.2.4, а она помогла в итоге. Всем спасибо.

p

Re: Hello World не компилируеться в g++

> Вылезай из анабиоза, файл зоввётся iostreams (а не iostream, и не iostream.h)

Мля, набежало школьников, убейтесь. Файл называется

Источник

iostream.h: Нет такого файла или каталога (гугл не помог)

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Conio.h: Нет такого файла или каталога
#include #include // Упр3.cpp:3:19: fatal error: conio.h: Нет такого файла.

G++: error: std=c++11: Нет такого файла или каталога
Всем доброго времени суток. Только несколько минут назад я столкнулся с таким случаем: при.

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».

tickНет такого файла или каталога
Написал скрипт, который проверяет раз в 10 минут активный ли сервер, и если активный запускает.

Источник

Gentoo, Qt-creator не видит iostream

Хотя, возможно, и не только он, но больше ничего кододополняющего нет.

#include подчеркивается зеленым и выводит сообщение: iostream: no such file or directory. Соответственно, и функции из std:: не дополняются, хотя всё нормально компилируется. Не смертельно, но неприятно. С удивлением обнаружил, что в системе действительно нет никакого iostream.h(по крайней мере, в /usr/include)

С чем такое м.б. связано? По форумам полазил, один из подобных вопросов заглох на том, что автору посоветовали пересобрать gcc. Сейчас тоже попробую

50428: 602514535

46231: 1645791915

46231: 1645791915

У меня всё работает.

58581: 769983096

У меня этот файл называется просто iostream, без расширения. Убунта.

p

/usr/include/c++/4.6.0/iostream // Fedora 15

81782: 128961258

ЕМНИП, там надо добавить путь в *.pro

50428: 602514535

Ага, нашел: /usr/lib64/gcc/x86_64-pc-linux-gnu/4.5.2/include/g++-v4/iostream

Непонятно, почему так. А еще find`ом нашел /var/tmp/portage/sys-devel/gcc-4.5.2/work/gcc-4.5.2/libstdc++-v3/include/std/iostream, т.ч., похоже, не зря пересобирать поставил.

Правда, большая часть всё равно не дополняется, но хотя бы не ругается

51494: 326442007

iostream и прочие инклудники из std не имеют расширения и лежат где-то в /usr/lib/gcc*/4.x.x/include

81782: 128961258

Библиотека C++ реализуется разработчиком компилятора.

Источник

iostream: нет такого файла или каталога

Я работаю с Qt Creator на Windows Vista. Я пытаюсь скомпилировать очень простой код «.cpp», который включает в себя стандартную библиотеку c ++ «iostream», например:

проблема возникает еще до компиляции кода, она возникает, когда Qt выделяет библиотеку и подтверждает это (iostream: такого файла или каталога нет).

Он работал нормально пару дней назад, затем я установил VS-Express-2012, который затем удалил, потому что, что удивительно, он не работает с Windows Vista. сразу после удаления VS-2012 библиотеки c ++ больше не видятся создателем Qt.

.. однако, когда я создаю новый файл «.cpp» в совершенно новом проекте, библиотеки исчезают и отсутствует ссылка:

.. (Я не хочу привыкать к переустановке Qt каждый раз, когда у меня возникает похожая проблема с компилятором, я хотел бы понять, почему это происходит в первую очередь)

Итак, что именно ищет Qt (или где я должен искать?), спасибо

Решение

Сначала откройте в Qt Creator файл вашего проекта («.pro») и добавьте следующую строку:

Тогда попробуйте использовать #include в вашем коде

Для меня ВКЛЮЧЕНО /usr/include/c++/4.7.3/

Другие решения

Вам не нужно переустанавливать создателя Qt. Если вы хотите использовать его для запуска исходного кода C ++, вам сначала нужно создать файл проекта. Сделайте следующее:

Источник

Iostream: нет такого файла или каталога

проблема возникает даже перед компиляцией кода, она возникает, когда Qt выделяет библиотеку и признает, что (iostream: нет такого файла или каталога).

Он работал отлично пару дней назад, затем я установил VS-Express-2012, который затем был удален, потому что, что удивительно, он не работает с Windows Vista. сразу после удаления VS-2012, С++-библиотеки больше не видны разработчику Qt.

Заметьте, что я все еще могу скомпилировать и запустить мои предыдущие написанные коды с помощью командной строки, что означает, что библиотеки С++ не были удалены с удалением VS-2012. Кроме того, все мои предыдущие коды (в старых проектах, которые были созданы с использованием того же Qt) не имеют такой проблемы (то есть: Qt идентифицирует и видит стандартные библиотеки), и я все еще могу их компилировать и запускать с помощью создателя Qt, даже если Я создаю новый файл «.cpp» в этих старых проектах:
2a89746faee899f7ee0b02f823815ba8

.. однако, когда я создаю новый файл «.cpp» в совершенно новом проекте, библиотеки исчезают и ссылка отсутствует:
281172267613d21e0fc23f7a00fadb56

.. (Я не хочу привыкать к повторной установке Qt каждый раз, когда у меня есть аналогичная проблема с компилятором, я хотел бы понять, почему это происходит в первую очередь)

Итак, что именно ищет Qt (или где я должен смотреть?), спасибо

Источник

  • Forum
  • Beginners
  • fatal error: IOStream: No such file or d

fatal error: IOStream: No such file or directory

I know this is a topic well discussed, but I have looked through this and other forums, but others mistakenly use .h. I am running Ubuntu with G++ 4.5.2.

My code:
#include <iostream>
using namespace std;

int main()
{
cout << «Hello world.» << endl;
return -1;

}

I compile with:
G++ HelloWorld.cpp

My error is:
HelloWorld.cpp:1:20: fatal error: IOStream: No such file or directory
compilation terminated.

I can compile fine with both geany and eclipse IDE, but I am practicing with programming with terminal. Since it compiles with the IDE, I am leaning toward g++ and libraries being installed correctly. I have the iostream file in /usr/include/c++/4.5/iostream directory.

I would appreciate any help because I have struggling with this for a couple of days now.

Hi scratch509 I gust go throughout the code and I want to explain something:
In the main function when u return it u return 0 which is an interger that means return nothing.
If u return -1 in any function that means that u are logically that thear is an error.
I hope that u understand .

ARWA wrote:
In the main function when u return it u return 0 which is an interger that means return nothing.

You couldn’t be anymore wrong.

void

means you return nothing. When he/she returns

-1

, he/she returns

-1

, not

0

.

ARWA wrote:
If u return -1 in any function that means that u are logically that thear is an error.

What if I had a method that returned

-1

on a successful call? It may not be common to return

-1

on a successful method call, but never assume such things; everybody’s coding style is different.

Scratch, a glance at your code reveals no apparent errors. However, considering you’re on Ubuntu, installation is different than Windows. It would be beneficial to post this question in the Unix/Linux section of this forum.

Wazzak

Last edited on

You might have a problem with case sensitivity.
The header is called iostream, not IOStream. Likewise, the compiler is called g++, not G++.

Thanks everyone for the replies. I figured out my issue here. I don’t even want to admit it, but it does help if you compile the same file you are editing. I did take the uppercase and the -1 comment onboard though and will remember it.
I have a nearly similar issue on my MacOSX computer, but there it doesn’t even compile with an IDE. That is my next thing to figure out.

You guys are awesome.

Topic archived. No new replies allowed.

Я работаю с Qt Creator on Виндоус виста. Я пытаюсь скомпилировать очень простой код «.cpp», который включает стандартную библиотеку С++ «iostream», например:

#include <iostream>
using namespace std;

int main(){
    cout << "thanks";
    return 0;
}

Проблема возникает еще до компиляции кода. Это происходит, когда Qt выделяет библиотеку и подтверждает, что (iostream: нет такого файла или каталога).

Пару дней назад все работало нормально, но потом я установил Visual Studio 2012 Экспресс который я затем удалил, потому что, как ни странно, он не работает с Windows Vista. Сразу после удаления Visual Studio 2012 библиотеки C++ больше не видны Qt Creator.

Обратите внимание, что я по-прежнему могу компилировать и запускать ранее написанный код с помощью консоли командной строки, что означает, что библиотеки C++ не были удалены с удалением Visual Studio 2012! Кроме того, весь мой предыдущий код (в старых проектах, созданных с использованием того же Qt) не имеет такой проблемы (т. е. Qt идентифицирует и видит стандартные библиотеки), и я все еще могу нормально компилировать и запускать их с помощью Qt Creator, даже когда Я создаю новый файл «.cpp» в этих старых проектах:

Введите описание изображения здесь

Однако, когда я создаю новый файл «.cpp» в совершенно новом проекте, библиотеки исчезают, а ссылка отсутствует:

Введите описание изображения здесь

(Я не хочу привыкать переустанавливать Qt каждый раз, когда у меня возникает подобная проблема с компилятором, я хотел бы понять, почему это происходит в первую очередь.)

Итак, что именно ищет Qt (или где я должен искать)?

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Фатальная ошибка input is not proper utf 8 indicate encoding 1c
  • Фар край 5 ошибка granite 2000000 на пиратке