我编写了一个简单的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
答案 0 :(得分:9)
不要使用名为gcc
的可执行文件来编译和链接C ++程序;你必须使用g++
。它不仅选择了适当的编译器选项,而且还链接了适合您语言的正确库(这就是您在这里遇到的问题。)
答案 1 :(得分:2)
&#34; GCC&#34;命令编译C代码,为了编译你应该使用的C ++代码&#34; g ++&#34;