Связывание <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, каждый раз, когда вы используете операции ввода-вывода.