iostream.h
День добрый.
Решил я научиться программировать на С. Скачал книжку "Осовй С++ за 21 день". Замечательная книжка, все понятно, вот только С++-совскую библиотеку мой gcc не знает, в usr/gcclib я ее не нашел. Вопрос: эта библиотека исключительно для вин, я чего-то не доставил или у меня старая версия компилятора? З.Ы. rpm -q gcc gcc-3.3.2-6mdk |
Попробуй поискать :) Введи в консоли
Код:
locate iostream.h |
ocate iostream.h
/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/iostream.h /usr/include/c++/3.3.2/backward/iostream.h /usr/include/c++/3.4.0/backward/iostream.h gcc tt.c tt.c:1:21: iostream.h: No such file or directory tt.c: In function `main': tt.c:7: error: `cout' undeclared (first use in this function) Доставил все касаемо gcc, но результат такой же. Что делать? |
Ambal
попробуйте компилировать, используя g++ Пример: Код:
$cat hello.cpp |
Единственное, что пока пришло в голову - неправильные пути gcc к заголовочным файлам. Попробуй их подкорректировать или воспользуйся советом mar
|
g++ hello.cpp
In file included from /usr/include/c++/3.3.2/backward/iostream.h:31, from hello.cpp:1: /usr/include/c++/3.3.2/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated. hello.cpp:12:2: warning: no newline at end of file Не то чтобы я не понимаю английский, но что это значит? Программа не компилируется. |
Старая фишка. Не забывайте использовать using namespace std; после #include и помните, что компилятор использует синтаксис с или с++ исходя из расширения файлов с или cpp. ЕМНИП: <iostream.h> используется для С, <iostream> для С++. Эта фишка выплывает раз в месяц у кого-нибудь из наших программеров раз в два месяца точно :]
|
Хм, всегда писал <iostream.h> и никогда таких проблем не было...
|
Дабы не осталось непоняток:
Код:
[hasherfrog@********* hasherfrog]$ more 1.cpp Код:
[hasherfrog@********* hasherfrog]$ g++ 1.c |
Код:
bash-2.05b$ more 1.cpp Код:
bash-2.05b$ g++ 1.cpp Понятно, что при компиляции файлов "с" g++ и файлов "cpp" gcc будет ошибка! |
>> Не понимаю в чем вообще тут проблема
Вы когда столкнётесь с ней, поймёте. |
Спасибо.
Разобрался. using namespace std; - то, что мне было нужно |
а еще бывает полезно в явном виде указать:
Код:
g++ -o имя_выходного_файла фалй.cpp |
а еще бывает полезней makefile делать :)
|
Zippy
ну не на hello, world же :) |
to mar: А на чем тогда учиться makefile делать? ;)
|
#include <iostream>
main() { std::cout<<"Hello!\n"; } или #include <iostream> using namespace stdl main() { cout<<"Hello!\n"; } |
Время: 16:06. |
Время: 16:06.
© OSzone.net 2001-