编译C++;Mac上的代码 我想在我的Mac上编写非常简单的C++程序,但是我会出错。我对C++(和GCC)没有太多的经验,而且Web上的简单指南也没有讨论这个主题。

编译C++;Mac上的代码 我想在我的Mac上编写非常简单的C++程序,但是我会出错。我对C++(和GCC)没有太多的经验,而且Web上的简单指南也没有讨论这个主题。,c++,gcc,namespaces,std,C++,Gcc,Namespaces,Std,请看一下我的简单hello world程序: erik2:~[03:38 pm]$ cat hw.cpp #include <iostream> int main () { cout<<"Hello World!"; return 0; } erik2:~[03:38 pm]$ gcc hw.cpp hw.cpp: In function ‘int main()’: hw.cpp:5: error: ‘cout’ was not declared in th

请看一下我的简单hello world程序:

erik2:~[03:38 pm]$ cat hw.cpp 
#include <iostream>

int main ()
{
  cout<<"Hello World!";
  return 0;
}
erik2:~[03:38 pm]$ gcc hw.cpp 
hw.cpp: In function ‘int main()’:
hw.cpp:5: error: ‘cout’ was not declared in this scope
erik2:~[03:38 pm]$cat hw.cpp
#包括
int main()
{
不能您需要添加

using namespace std;
或者限定使用该名称空间中的符号,如中所示

std::cout << "Hello, world!";
std::cout
#包括

使用名称空间std;//必须使用名称空间std

#include <iostream>

using namespace std;

int main ()
{
  cout<<"Hello World!";
  return 0;
}
#包括
使用名称空间std;
int main()
{

在这个问题上,这个问题是非主题的。除了<代码>使用命名空间STD;,你应该使用命令<代码> G++<代码>代替C++代码> GCC < /代码>来编译C++程序。@ KiAMLLUNO:感谢并没有在发布之前读到它们!@ Eikb:我在OS X上不确定100%,但是在Linux上你必须使用<代码> G++<代码>C++程序,否则它将不会与正确的库链接,你会得到类似“未定义符号”的东西。您看到的错误。@Jesper:是的,似乎是相同的。这是我的实际问题,非常感谢。以前有过,但删除了它,因为它显示了非常奇怪且不可理解的错误。看来我需要做些什么来代替它们。感谢您,对于初学者,使用正确的编译器,例如
g++
,而不是
gcc
第二组错误的原因是,<代码> GCC < /C>不知道C++库在哪里,但是<代码> G++< /C> >,所以你得到链接错误,如代码> LD:符号(s)未找到。
#include <iostream>

using namespace std; // <<< you forgot this !

int main ()
{
  cout<<"Hello World!";
  return 0;
}
#include <iostream>

using namespace std;

int main ()
{
  cout<<"Hello World!";
  return 0;
}