Ho l'ultima versione di XCode installata sul mio Mac OS X 10.8 con LLVM 3.2. Ora vorrei passare a llvm/clang 3.3.Mac OS X 10.8 e llvm/clang 3.3 via homebrew
Nel mio progetto corrente uso CMake con clang 3.2 e libC++ che funzionano bene.
Ora ho pensato di poter passare all'homebrew. Quindi quello che ho fatto è stato il seguente comando:
brew install llvm --with-clang --with-asan
Questa nuova costruzione clang e aggiornato in/usr/local/bin.
Esecuzione CMake con i seguenti parametri:
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=/usr/local/bin/clang -DCMAKE_CXX_COMPILER=/usr/local/bin/clang++ ../
avuto successo e la mia uscita CMake assomiglia:
-- 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
Ma se comincio a costruire il mio progetto ricevo un errore:
[ 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.
Quindi ovviamente non si trova l'intestazione standard, che è stata trovata con clang 3.2. Cosa può causare questo problema?
Nota: Penso che il mio problema è che brew costruisce LLVM/clang con libstdC++ invece di libC++. C'è un modo per forzarlo a usare libC++? O c'è qualche altro modo semplice per aggiornare clang su OS X e usare libC++?
Hai finalmente capito? Ho lo stesso problema ... –
Ho appena fatto un aggiornamento XCode, dopo che è uscita una nuova versione. – ovanes