Comment arrêter de CMake de se lier à des libstdc++
J'ai une question très simple CMakeLists.txt pour un projet C++, qui construit une bibliothèque partagée:
add_library(foo SHARED
${HDR_PUBLIC}
${SOURCES})
Lors de la liaison de la bibliothèque, CMake utilise -lstdc++. Comment puis-je arrêter de faire cela?
Ce qui est exactement ce que vous troubles, qui sont les conséquences que vous essayez d'éviter?
Je ne peux pas dépendre libstdc++ dans les environnements où je veux déployer ce projet.
Je ne peux pas dépendre libstdc++ dans les environnements où je veux déployer ce projet.
OriginalL'auteur Reuben Morais | 2013-02-25
Vous devez vous connecter pour publier un commentaire.
Source: http://cmake.3232098.n2.nabble.com/setting-LINKER-LANGUAGE-still-adds-lstdc-td7581940.html
OriginalL'auteur andrewrk
Vous pouvez ajouter -stdlib=libc++ de drapeaux du compilateur.
Exemple Simple:
Donner de sortie:
Par défaut:
Lien vers stdc++:
[mise à jour]
Si vous n'avez pas besoin de lien pour c++ lib - utilisation '-nodefaultlibs' que l'éditeur de liens drapeau et '-nostdinc++' le compilateur drapeau. Vous pouvez avoir besoin de lien par défaut, certaines bibliothèques, comme '-lSystem'.
Cette réponse ne fonctionne pas. Voir la mine.
OriginalL'auteur