在unix上找不到c ++库

时间:2012-06-03 01:08:42

标签: c++ unix

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

#include <iostream>
#include <string>

using namespace std;

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

为什么runnning 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

2 个答案:

答案 0 :(得分:9)

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

答案 1 :(得分:2)

&#34; GCC&#34;命令编译C代码,为了编译你应该使用的C ++代码&#34; g ++&#34;