La liaison de la libc++ à CMake projet sur Linux
Je veux utiliser de la libc++ avec clang sur Arch Linux dans CMake projet. J'ai installé la libc++ et ajouté les lignes suivantes CMakeLists.txt comme l'a dit LLVM site dans la section Linux "à l'Aide de la libc++ dans vos programmes":
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -stdlib=libc++")
set(CMAKE_EXE_LINKER_FLAGS "-lc++abi")
J'ai essayé tout simplement "++abi" dans l'éditeur de liens de drapeaux, mais il n'a pas aidé. J'ai besoin d'aide pour comprendre ce que je dois écrire dans mon CMakeLists.txt.
quel message d'erreur avez-vous l'obtenir?
CMake ne me donne aucun message d'erreur, mais lorsque je tente d'utiliser std::string par exemple, clang me donne le message suivant:
on dirait que vous n'avez pas
Je l'ai fait, et lorsque j'utilise la bibliothèque libstdc++ tout fonctionne bien
essayez d'ajouter-lc++ à l'éditeur de liens de ligne de commande.
CMake ne me donne aucun message d'erreur, mais lorsque je tente d'utiliser std::string par exemple, clang me donne le message suivant:
implicit instantiation of undefined template 'std::__l::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>'
on dirait que vous n'avez pas
#include <string>
Je l'ai fait, et lorsque j'utilise la bibliothèque libstdc++ tout fonctionne bien
essayez d'ajouter-lc++ à l'éditeur de liens de ligne de commande.
OriginalL'auteur Ostrea | 2014-11-27
Vous devez vous connecter pour publier un commentaire.
N'oubliez pas de le compilateur clang++:
Aussi, purger le cmake fichiers générés (supprimer le dossier
CMakeFiles
etCMakeCache.txt
).Selon votre système, il pourrait également aider à définir
Hmm, j'obtiens une erreur: Le CMAKE_CXX_COMPILER: clang++ n'est pas un chemin d'accès complet et n'a pas été trouvé dans le CHEMIN d'accès. Dire CMake où trouver le compilateur en paramètre la variable d'environnement "CXX" ou le CMake entrée de cache CMAKE_CXX_COMPILER pour le chemin d'accès complet pour le compilateur, ou pour le compilateur, si elle est dans le CHEMIN. Pas une grosse affaire, je peux définir le compilateur dans la configuration. (I
OriginalL'auteur emw