web-dev-qa-db-fra.com

Comment compiler / lier Boost avec clang ++ / libc ++?

La réponse à cette question Pourquoi ne pouvez-vous pas cliqueter avec libc ++ en mode c ++ 0x pour lier cet exemple boost :: program_options? indique "Vous devez reconstruire le boost en utilisant clang ++ -stdlib = libc ++."

J'utilise MacOS Lion avec clang v3.0. Comment puis-je construire Boost v1.48.0 à l'aide de clang et le lier à libc ++?

Mise à jour: j'ai créé un fichier user-config.jam avec les éléments suivants:

using clang-darwin

... qui construira Boost avec clang au lieu de gcc. Comment créer un lien avec libc ++ au lieu de libstdc ++?

61
x-x

Je ne savais pas non plus comment faire ça. Mais après avoir fouillé dans ici , le pour commencer et essai et l'erreur:

$ ./bootstrap --with-toolset=clang
$ ./b2 clean
$ ./b2 toolset=clang cxxflags="-stdlib=libc++" linkflags="-stdlib=libc++"

Vous obtiendrez de nombreux avertissements. Et la bibliothèque de signaux ne parviendra pas à se construire en raison de LWG 2059 . Mais sinon je pense que cela fonctionne.

93
Howard Hinnant

Une autre option consiste à utiliser Homebrew :

brew install boost --c++11

Pour obtenir des informations sur toutes les options, utilisez:

brew info boost
15
Jonas Klemming