从mac上的终端编译时出现c ++错误

时间:2017-05-02 23:29:08

标签: c++ macos terminal

尝试使用。编译名为main.cpp的程序 gcc main.cpp 使用终端在我的mac上编译的命令。我收到以下错误

undefined symbols for architecture x86_64:
  "std::__1::locale::use_facet(std::__1::locale::id&) const", referenced from:
      _main in main-db0d6c.o
. . . 
Dwarf Exception Unwind Info (__eh_frame) in main-db0d6c.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

这是程序:

// Example program
#include <iostream>
#include <string>

int main()
{
   std::string name;
   std::cout << "What is your name? ";
   getline (std::cin, name);
   std::cout << "Hello, " << name << "!\n";
}

非常感谢任何帮助,甚至指出我正确的方向。我不明白如何阅读此错误消息,并希望学习以及让我的基本程序运行。

1 个答案:

答案 0 :(得分:0)

对c ++项目使用g ++而不是gcc。另外,将std添加到getline作为std::getline