2010-11-01 288 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