2009-09-14 67 views
2

所以,我是一名全新的CS學生,在Mac上,我正在爲我的一個課程學習C++。我對如何編譯我的超級基本C++程序有一個愚蠢的問題。通過Xcode使用GCC編譯基本程序

我安裝了Xcode,我正在瀏覽文檔,試圖弄清楚如何使用它(並且我高度懷疑它對於我現在正在做的事情來說極其不合理),並最終最終進入終端並且去「gcc [文件名]」。而且我有一個屏幕上充滿了以「未定義符號」開頭的文本,並繼續嘗試引用事物,所以我想知道如果我沒有在某處連接某些東西,特別是當我實際上處於打開C++程序的Xcode,大多數菜單項都變灰了。

所以。真的很基本。我錯過了什麼,我該如何解決?有沒有Xcode的基本指南?大部分文檔都針對真正的開發人員,而我完全錯過了很多假設。

+0

如果你沒看見,我會在這裏過評論:這聽起來像馬丁的解決方案是正確的,你只是不實際運行該程序。如果你還沒有看到我的評論。 – Chuck 2009-09-15 18:13:51

+0

謝謝,我終於看到了你的評論,並在下面回覆。 – klreeher 2009-09-16 02:07:38

回答

1

如果安裝了XCode,則所有設置都正確。

如果你在命令行鍵入gcc,那麼你調用了'C'編譯器(而不是C++編譯器)。通常這不重要,因爲GCC通過查看文件擴展名進行補償。但是,重要的是它不會使用正確的C++標誌調用鏈接器。

你應該做的(命令行)是使用G ++

g++ <fileName>.cpp 

默認情況下,輸出文件是a.out的,並放置在同一目錄下。
G ++有一個標誌來指定不同的輸出名稱-o

g++ -o <outputName> <fileName>.cpp 
+0

這將解釋很多 - 但是當我嘗試它時,終端只是給了我一個新的線。沒有錯誤,沒有。 (這是一個程序,要求輸入多個數據,並且應該返回一個輸出,並且我已經在另一臺計算機上測試過了。) – klreeher 2009-09-14 23:32:03

+1

@KLR:你意識到GCC/G ++只會編譯程序,對吧?它不會爲你運行程序。如果您沒有提供輸出名稱,它將調用編譯的程序「a.out」。 – Chuck 2009-09-14 23:44:37

+0

好吧。我現在覺得很愚蠢。好的,編譯後的程序也會和原始文件在同一個目錄下?以及如何提供輸出名稱? – klreeher 2009-09-16 02:06:58