C++ 编译器命令 c++ 不生成输出

C++ compiler command c++ does not generate output

我在 nano 文本编辑器(UNIX 命令行)中编写了一个 C++ 文件,我正在尝试使用此命令执行它:c++ main.cpp。当我 运行 它时,没有显示错误消息,但是,也没有成功消息;什么也没有出现...我也试过 clang ,它给了我更多的细节,点击 here 查看错误信息。 我的代码:

#include <iostream>

using namespace std;

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

    return 0;
}

Clang 输出:

/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)

没有任何输出是预期的结果。 运行 c++ 编译 提供的源文件。要 运行 您的程序,您必须显式 运行 生成的可执行文件,默认情况下是 a.out.

关于您从 clang 收到的错误消息,请确保您使用的是 clang++ 并记得包含 iostream header,它声明 std::cout.