1

我编写了一个简单的 C++ 程序 test.cpp:

#include <iostream>
#include <string>

using namespace std;

int main() {
  string s;
  cin >> s;
  cout << s << endl;
  return 0;
}

为什么运行gcc test.cpp -o mytest会给我这些错误,以及更多?

Undefined symbols for architecture x86_64:
  "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string()", referenced from:
      _main in cc8rGYVq.o
  "std::cin", referenced from:
      _main in cc8rGYVq.o
4

2 回答 2

9

不要使用命名的可执行文件gcc来编译和链接 C++ 程序;你必须使用g++. 它不仅可以选择适当的编译器选项,还可以链接到适合您的语言的正确库(这是您在这里遇到的问题。)

于 2012-06-03T01:11:31.123 回答
2

"gcc" 命令编译 C 代码,为了编译 C++ 代码你应该使用 "g++"

于 2012-06-03T01:30:11.107 回答