2013-09-21 160 views
3

我正在嘗試構建一個最初爲archlinux編寫的項目。構建過程在archlinux上運行良好,但是當我嘗試在我的Mac上構建它時存在大量錯誤。該項目基本上是用C++ 11編寫的,因此非常不穩定。我認爲這與編譯器有關,因爲mac中的叮噹聲版本是4.2(它實際上顯示'Apple LLVM 4.2版(clang-425.0.28)(基於LLVM 3.2svn)'當我輸入時, -version)和3.3 for linux。所以我想要一個不同版本的clang,可能是3.3。如何在構建項目時指定編譯器的版本?如何更新clang版本以編譯C++ 11項目? (在Mac上)

+0

沒有'clang' 4.5版本。你在談論XCode嗎?或者,也許你在Mac OS X中使用'gcc' 4.5。 – m0nhawk

+0

對不起,鐺4.2。我修改了文章,謝謝! –

+1

Apple Clang版本控制與XCode版本控制綁定,與實際的Clang版本不同。如果你使用'clang --version',你應該得到類似於「基於Clang 3.X的Apple Clang 4.2」或類似的東西。 – Xeo

回答

1

如果你願意通過命令行來構建,使用make例如(這聽起來可能考慮到該項目是從Linux的),然後安裝Macports並安裝whatever version of clang you would like

$sudo port install clang-3.1 
$sudo clang_select 

注意,此版本的如果您要使用xcrun clang而不是普通的舊版clang調用Xcode版本,則clang不應影響Xcode命令行包。

+0

謝謝!但我該如何切換版本。我嘗試sudo端口安裝clang_select,但它沒有工作。 –

+0

@NothingMore你是什麼意思的「沒有工作」? – trojanfoe

2

有人可能認爲這屬於上apple.stackexchange.com,但我不知道C++ 11的標籤搶了不少的關注那裏:)

的Xcode 5.0現在可從App Store。安裝它,進入首選項 - >下載,然後安裝命令行工具。但是...

首先,您需要轉到首選項 - >帳戶並添加您的Apple ID。出於某種原因,命令行工具下載需要帳戶登錄。我不知道這是什麼理由。

> clang -v 
Apple LLVM version 5.0 (clang-500.2.75) (based on LLVM 3.3svn) 
相關問題