Связывание <iostream.h> в linux с использованием gcc
Я пытаюсь запустить мою первую программу на С++ в linux (linux mint 8). Я использую либо gcc, либо g++, как с той же проблемой: компилятор не находит библиотеку, которую я пытаюсь импортировать.
Я подозреваю, что я должен либо скопировать файл iostream.h(который я не знаю, где искать) в рабочей папке, переместить мой файл для компиляции в другое место или использовать какой-либо вариант.
Спасибо за ваши предложения.
Здесь команда gcc, код С++ и сообщение об ошибке:
gcc -o addition listing2.5.c
.
#include <iostream.h>
int Addition(int a, int b)
{
return (a + b);
}
int main()
{
cout << "Resultat : " << Addition(2, 4) << "\n";
return 0;
}
.
listing2.5.c:1:22: error: iostream.h: No such file or directory
listing2.5.c: In function ‘main’:
listing2.5.c:10: error: ‘cout’ undeclared (first use in this function)
listing2.5.c:10: error: (Each undeclared identifier is reported only once
listing2.5.c:10: error: for each function it appears in.)
Теперь код компилируется, но я не могу запустить его из командной строки, используя имя файла. addition: command not found
Любое предложение?
Ответы
Ответ 1
-
cout
определяется в пространстве std:: namespace, вам нужно использовать std::cout
вместо cout
.
- Вы также должны использовать
#include <iostream>
не старый iostream.h
- используйте g++ для компиляции программ на С++, он будет связан в стандартной библиотеке С++. gcc не будет. gcc также скомпилирует ваш код как код C, если вы дадите ему суффикс .c. Дайте вашим файлам суффикс .cpp.
Ответ 2
Вам нужно <iostream>
не <iostream.h>
.
Они также являются заголовочными файлами, а не библиотеками.
Другие исправления, cout
должен быть std::cout
, и вы должны использовать std::endl
вместо "\n"
.
Ответ 3
Вам нужно <iostream>
, <iostream.h>
- нестандартный слишком старый заголовок. Попробуйте следующее:
#include <iostream>
int Addition(int a, int b)
{
return (a + b);
}
int main()
{
using namespace std;
cout << "Resultat : " << Addition(2, 4) << "\n";
return 0;
}
Ответ 4
используйте g++, а не gcc, чтобы скомпилировать его
Ответ 5
Если вы не хотите использовать std вместе с cout как -
std::cout << "Hello World";
Вы также можете определить std в начале программы с помощью ключевых слов "using namespace" как -
#include <iostream >
using namespace std;
int Addition(int a, int b)
{
return (a + b);
}
int main()
{
cout << "Result : " << Addition(2, 4) << "\n";
return 0;
}
Теперь вам не нужно писать std, каждый раз, когда вы используете операции ввода-вывода.