Команда компилятора C ++ c ++ не генерирует вывод - PullRequest
0 голосов
/ 09 февраля 2020

Я написал файл C ++ в текстовом редакторе nano (UNIX командная строка) и пытаюсь выполнить его с помощью этой команды: c++ main.cpp. Когда я запускаю его, сообщения об ошибках не отображаются, однако, также нет успешных сообщений; просто ничего не появляется ... Я также попытался clang, который дал мне более подробную информацию, нажмите здесь , чтобы просмотреть сообщение об ошибке. Мой код:

#include <iostream>

using namespace std;

int main() {
    cout << "Hello" << endl;

    return 0;
}

Clang Output:

/usr/bin/ld: /tmp/main-ad7332.o: in function `main':
main.cpp:(.text+0x11): undefined reference to `std::cout'
/usr/bin/ld: main.cpp:(.text+0x24): 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*)'
/usr/bin/ld: main.cpp:(.text+0x2d): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
/usr/bin/ld: main.cpp:(.text+0x36): undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))'
/usr/bin/ld: /tmp/main-ad7332.o: in function `__cxx_global_var_init':
main.cpp:(.text.startup+0x13): undefined reference to `std::ios_base::Init::Init()'
/usr/bin/ld: main.cpp:(.text.startup+0x19): undefined reference to `std::ios_base::Init::~Init()'
clang: error: linker command failed with exit code 1 (use -v to see invocation)

1 Ответ

3 голосов
/ 09 февраля 2020

Нет ожидаемого результата. Запуск c++ только компилирует предоставленный исходный файл. Чтобы запустить вашу программу, вам нужно явно запустить созданный исполняемый файл, который по умолчанию равен a.out.

Что касается сообщений об ошибках, полученных от clang, убедитесь, что вы используете clang++ и не забудьте включить заголовок iostream, который объявляет std::cout.

...