2011-08-02 50 views
4

我正在使用Macbook 1g,Snow Leopard。Xcode 4.2 + C++ 0x/libC++找不到iostream

幾天前我安裝了xcode 4.2併爲C++ 0x做了一個測試項目。

我將LLVM 3.0設置爲C++編譯器,將C++語言方言設置爲C++ 0x,將C++標準庫設置爲libC++。

但是當建設,發生錯誤。

"iostream" file not found 

我覺得它最令人困惑。我怎麼解決這個問題?

+1

如果您點擊「運行」按鈕,它是否編譯並運行? –

+2

哦,我找到了。 libC++作爲標準庫需要OS X Lion! (...)我將libC++更改爲libstdC++併成功編譯。 –

+0

我不知道如何在Xcode下運行,但如果你想在命令行界面上嘗試在雪豹上使用clang + libC++,你可以在http://libcxx.llvm.org/上試試「get it」指令。 –

回答

1

來自評論:

哦,我找到了。 libC++作爲標準庫需要OS X Lion! (...)我將libC++更改爲libstdC++併成功編譯。

+0

這可能意味着我不能在豹上使用C++ 0x?我不能包含#include 如果我這樣做 –

+0

只需將編譯器更改爲Apple LLVM,並根據此線程中的其他答案設置標準庫。 – cjcurrie

+0

另請參閱'用戶定義 - > CLANG_XX_LIBRARY' – cjcurrie

5

「我將libC++更改爲libstdC++」。怎麼樣?這個設置在哪裏? Apple文檔說「只需在構建設置中將」C++ Standard Library Type「設置爲...」構建設置很長,我看不到要設置的位置。謝謝。

編輯 - 沒有像打盹清理頭。

務必使實現文件的文件名後綴爲「.mm」。

項目 - >構建設置 - >蘋果LLVM編譯器3.1 - 語言 - >然後: C++語言Dialect-> C++ 11(或其他選項) C++標準庫 - > ++的libstdc

和Don」不要忘了這最後一個! 編譯源爲 - > Objective-C++

+0

完美!它是完美的作品! – ademar111190

+0

確保將「Compiler for C/C++/Objective-C」選項設置爲「Apple LLVM Compiler 3.x」,否則上述選項將不會出現。 這就是說,有誰知道爲什麼蘋果LLVM編譯器是唯一一個可以指定C++標準庫的嗎? – cjcurrie