2010-11-01 195 views
57

我已经得到了我想要编译在OS X上一个简单的Hello World例如,名为hw.cpp在OS X上编译Hello World程序:通过命令行

#include <iostream> 
#include <string> 
using namespace std; 
int main() { 
    cout << "Hello world!" << endl; 
    return 0; 
} 

我想编译它使用gcc,但我没有成功。我还想听听其他选项,比如使用Xcode?

+5

“没有成功”并没有真正帮助任何人,诊断您的问题。 – 2010-11-01 21:42:28

回答

118

尝试

g++ hw.cpp 
./a.out 

g++是C++编译器前端到GCC。
gcc是GCC的C编译器前端。

是的,Xcode绝对是一种选择。它是一个建立在GCC之上的GUI IDE。

虽然我更喜欢稍微详细的做法:

#include <iostream> 

int main() 
{ 
    std::cout << "Hello world!" << std::endl; 
} 
+2

别忘了'return 0' – alternative 2010-11-01 21:51:49

+8

@math:'return 0'在main中是隐含的。 – fredoverflow 2010-11-01 22:03:20

+3

@mathepic:和+1。它在C++中不是必需的。如果'main'达到函数的结尾而没有返回,则隐含返回0. – 2010-11-01 22:43:01

21
g++ hw.cpp -o hw 
./hw 
+0

在所有其他的人中,这一个对我来说工作得很好。谢谢。 – 2016-11-04 21:14:47

4

gcc编译它需要你通过一些命令行选项。改为使用g++进行编译。

1

你没有指定你看到的错误是什么。

问题gcc给你一个错误,或者你根本不能运行gcc

如果是后者,最可能的解释是您在安装开发工具时未检查“UNIX开发支持”,因此命令行可执行文件未安装在您的路径中。重新安装开发工具,并确保点击“自定义”并选中该框。

1

的这个新版本应该象这样:

xcrun g++ hw.cpp 
./a.out 
+0

这给了我 'ld:无法链接主体可执行文件'.a.out'用于体系结构x86_64 铿锵声:错误:链接器命令失败,退出代码1(使用-v来查看调用)' – Eddified 2014-01-31 06:32:34

+0

@Eddified:嗨你是否设法解决这个问题?我也知道了 – 2017-06-09 08:39:51

+0

@ Rat-a-tat-a-tat对不起,我不记得,是3年前。 – Eddified 2017-06-09 14:09:34