c++ - 为什么我不能用 C++ 编译 HelloWorld?

标签 c++ compilation linker g++

我正在尝试用 C++ 编译一个简单的 Hello World 程序,但我不断收到以下错误...为什么?

gcc -o HelloWorldCompiled HelloWorld.cc
/tmp/ccvLW1ei.o: In function `main':
HelloWorld.cc:(.text+0xa): undefined reference to `std::cout'
HelloWorld.cc:(.text+0xf): 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*)'
/tmp/ccvLW1ei.o: In function `__static_initialization_and_destruction_0(int, int)':
HelloWorld.cc:(.text+0x3d): undefined reference to `std::ios_base::Init::Init()'
HelloWorld.cc:(.text+0x42): undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccvLW1ei.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status

这是我的程序:

#include <iostream>
using namespace std;

int main()
{
  cout << "Hello World\n";
}

最佳答案

使用 g++ 而不是 gcc。 gcc 是 C 编译器,而 g++ 是 C++ 编译器。

g++ -o hwcompiled helloworld.cc

然后执行编译好的程序:

./hwcompiled

关于c++ - 为什么我不能用 C++ 编译 HelloWorld?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9087885/

相关文章:

c++ - 消息框发送 Windows 消息?

c++ - 子类化 SHBrowseForFolder 并处理 WM_NOTIFY

java - 通过命令行运行在 Eclipse IDE 中编写的使用 anltr3 语法的 java 程序

haskell - 在项目中我可以编译模块并在 ghci 中交互加载已编译的模块吗?

c++ - 不应该存在的随机未解析外部符号

c - 链接到 gstreamer 库 ubuntu 11.10 的问题

C++ 链接 boost 库

C++:右对齐字段输出

C++确定类是否可比较

c - 没有这样的文件或目录,但文件存在