我的Mac OS X 10.8上安裝了最新版本的XCode,並帶有LLVM 3.2。現在我想切換到llvm/clang 3.3。Mac OS X 10.8和llvm/clang 3.3通過自制軟件
在我目前的項目中,我使用了CMake和clang 3.2和libC++,它們工作正常。
現在我想我可以切換使用自制軟件。所以我做的是發出以下命令:
brew install llvm --with-clang --with-asan
這建立了新的叮鐺聲,並在/ usr/local/bin中更新它。
運行CMake的下列參數:
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=/usr/local/bin/clang -DCMAKE_CXX_COMPILER=/usr/local/bin/clang++ ../
成功,我的CMake的輸出如下:
-- Compiler: Clang
-- CXX_FLAGS: -Wall -std=c++11 -stdlib=libc++
-- Boost version: 1.53.0
-- adding include directory: /usr/local/include
-- adding include directory: /usr/local/include
-- adding include directory: /usr/local/include
-- adding include directory: /usr/local/include
-- Boost version: 1.53.0
-- Found the following Boost libraries:
-- filesystem
-- system
-- exception
-- Boost version: 1.53.0
-- Found the following Boost libraries:
-- unit_test_framework
-- thread
-- Configuring done
-- Generating done
但是,如果我開始建立我的項目,我收到一個錯誤:
[ 2%] Building CXX object code/CMakeFiles/.../resource.cpp.o
In file included from /Users/.../code/net/resource.cpp:1:
/Users/.../resource.hpp:6:10: fatal error: 'string' file not found
#include <string>
^
1 error generated.
因此,顯然沒有找到標準頭文件,其中發現了clang 3.2。什麼可能導致這個問題?
備註: 我認爲我的問題是brew使用libstdC++而不是libC++構建llvm/clang。有什麼辦法可以強制它使用libC++嗎?或者有沒有其他簡單的方法來升級OSX的鏗鏘聲和使用libC++?
你最終發現了嗎?我有同樣的問題... –
我剛剛做了一個XCode更新,在一個新版本出來後。 – ovanes