簡體   English   中英

使用XCODE 4.6.1中的boost - 什么是正確的構建設置?

[英]Using boost from XCODE 4.6.1 - what are the proper build settings?

我下載了boost 1.53並解壓縮到Users / user / Desktop / boost_1_53_0我按照以下說明成功構建了boost作為靜態庫: http ://libcinder.org/docs/v0.8.5/_cinder_boost.html

我將XCODE的“Build Settings”“Header Search Paths”更改為/ Users / user / Desktop / boost_1_53_0以及將“Library Search Paths”更改為Users / user / Desktop / boost_1_53_0 / stage / lib

然后我構建並獲得錯誤:

我得到的第一個錯誤是“has_binary_operator.hpp”解析問題預期成員名稱或';' 在行后的聲明說明符之后:

template <typename Lhs,typename Rhs>

struct operator_exists {

...

有沒有人有關於構建設置應該是什么的提示? 該項目包含一些可可/目標C(.m)文件和其他使用boost的C ++(。mm)文件。 在OSX Mountain lion和XCODE 4.6.1下嘗試使用boost我是全新的。

我這個晚了一點,但萬一其他人有這個問題......

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

快速解決方法是在Objective C源文件中包含boost標頭之前插入“#undef check”,因為它似乎是“check”是Objective C中的保留字。

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

我正在使用XCODE的提升,我同意fatih_k。 我將所有的c和c ++語言設置設置為GNU99和GNU ++ 98。 我還將'compile sources as'選項設置為'根據文件類型'。

我發現我創建的項目總是默認使用Objective C,所以可能只需要完成項目設置並確保為C ++而不是Objective C配置了所有內容。

我還沒有嘗試使用C ++ 11選項。

Xcode 4.x默認編譯器是apple llvm,它默認使用libc ++。 您可以更改Xcode中的設置

將stdlib更改為libc ++

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

轉到Apple LLVM編譯器4.2 - 語言選項

從libc ++更改libstd選項

要更改編譯器

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

下去構建選項

更改選項C / C ++ / Objective C - 默認選項為“Apple LLVM編譯器4.2”將其更改為g ++ 4.2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM