2013-05-27 66 views
4

我下載了升壓1.53和提取到用戶/用戶/桌面/ boost_1_53_0 我成功地構建升壓如下的說明靜態庫:http://libcinder.org/docs/v0.8.5/_cinder_boost.html從XCODE 4.6.1使用boost - 什麼是正確的編譯設置?

我改變了Xcode的「生成設置」「頭文件搜索路徑」到/用戶/用戶/桌面/ boost_1_53_0以及「庫搜索路徑」,以用戶/用戶/桌面/ boost_1_53_0 /臺/ lib目錄

然後我建立並得到錯誤:

我得到的第一個錯誤是「has_binary_operator .hpp「解析問題預期的成員名稱或';'在網上申報後符:

模板<類型名稱LHS,typename的右軸>

結構operator_exists {

...

沒有人有構建設置應該是什麼祕訣嗎?該項目包含一些可可/客觀C(.m)和其他使用boost的C++(.mm)的文件。我在OSX Mountain Lion和XCODE 4.6.1下嘗試使用boost方法是全新的。

+0

同樣在這裏錯誤的保留字..提高1.55, Xcode 5,項目中的所有C++ 11編譯器+庫。 – Jay

回答

0

您可以確保設置編譯器類型是GNU98或類似的東西,XCODE4默認的編譯器可能是C++ 11兼容

0

我使用的是在Xcode升壓和我fatih_k同意。我將所有的c和C++語言設置設置爲GNU99和GNU ++ 98。我也有'編譯源'選項設置爲'根據文件類型'。

我發現,這些項目我創建始終默認爲使用Objective C,所以也許只是通過你的項目設置,並確保你所擁有的一切配置爲C++而不是目的C.

我沒有嘗試過的C++還有11個選項。

+0

如果我將編譯器更改爲LLVM GCC 4.2,我得到的錯誤更少。他們仍然在has_binary_operator.hpp:預期*之前*預期不合格-id之前'做' – bhartsb

+0

我用macports獲得提升。哪裏拿你的東西了? –

0

Xcode 4.x默認編譯器是apple llvm,它使用libC++作爲默認編譯器。你可以在Xcode

更改設置要更改STDLIB作爲libc中++

一個。從Xcode中選擇目標並轉到BuildSettings選項卡。

b。去蘋果LLVM編譯器4.2 - 語言選項

變化從的libC++

要改變編譯器

一個選項作爲libstd。從Xcode中選擇目標並轉到BuildSettings選項卡。

b。再往構建選項

更改選項C/C++/Objective C的 - 默認選項將是「蘋果LLVM編譯器4.2」將其更改爲G ++ 4.2

1

我有點晚了這一個,但萬一任何人都有這個問題...

我有這個問題,在項目中使用Objective C.我會得到解析和語義問題在has_binary_operator。hpp和lexical_cast.hpp。

速戰速決被插入「和#undef檢查」,包括目標C源文件boost頭文件之前,因爲它會出現「檢查」是目的C.

+0

這爲我解決了這個問題! – Bersaelor

相關問題