2016-03-01 145 views
0

我是新來的編程和C++,並剛在我的電腦上安裝了C++和XCode。我已將Mac OSX GCC作爲我的首選工具鏈。在OSX上的Eclipse C++無法編譯

我似乎甚至沒有得到一個簡單的Hello World程序來運行,我真的需要一些幫助,我之前已經發布過,四處張望,但沒有任何東西似乎幫助我。

代碼:點擊構建畢竟

#include <iostream> 
using namespace std; 

int main() { 
    cout << "Hello world \n"; 
    return 0; 
} 

錯誤:

12:38:22 **** Incremental Build of configuration Debug for project Test1 **** 
make all 
Building file: ../test.cpp 
Invoking: GCC C++ Compiler 
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"test.d" -MT"test.o" -o "test.o" "../test.cpp" 
Finished building: ../test.cpp 

Building target: Test1 
Invoking: MacOS X C++ Linker 
g++ -o "Test1" ./test.o 
Undefined symbols for architecture x86_64: 
    "_main", referenced from: 
    implicit entry/start for main executable 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
make: *** [Test1] Error 1 

12:38:37 Build Finished (took 15s.286ms) 

Screenshot

+0

您應該提及您是哪個版本的max OS X.這很重要,因爲這些天的默認C++編譯器是clang,不再是gnu(g ++)。 – steve

+0

我在OSX El Capitan 10.11.3 – Panthy

+0

看着你的截圖,我注意到這個文件被標記爲未保存。如果在第一次保存之後添加了主函數,然後嘗試重新編譯而不保存,則會出現此錯誤,因爲可執行文件必須具有main的定義。你確定在編譯之前保存了這個文件嗎? –

回答

1

你提到你剛剛安裝的XCode。如果您希望開始使用C++編程,那麼使用XCode可以使您的體驗更加令人滿意,並且比使用Eclipse更快地學習曲線。 XCode是Mac上的「本地」IDE。

說了這話之後,我明白可能有使用Eclipse的原因,如果您希望在不久的將來在非Apple平臺上開始編程,或者希望熟悉Eclipse作爲IDE進行Android編程。但是,如果你打算在Mac上呆一段時間並想更快地選擇C++,我強烈建議堅持使用XCode。

現在,您顯示的錯誤可能是因爲該文件尚未保存,正如其中一位評論者所建議的那樣。如果main()缺失,那就是你所得到的錯誤。