cmake erreur: La suite de bibliothèques Boost n'a pas pu être trouvé
Je suis en utilisant cmake
et boost
pour rendre la solution visual studio.
ma commande est:
F:\C++\yapimpl\build>cmake .. -G"Visual Studio 11" -DBOOST_ROOT=E:\lib\lib\boost
_1_54_0 -DBOOST_LIBRARYDIR=E:\lib\lib\boost_1_54_0\bin\vc11\lib
si j'ai mis la BOOST_LIBRARYDIR
et BOOST_ROOT
, il dit encore boost_unit_test_framework
n'a pas pu être trouvé.
le répertoire E:\lib\lib\boost_1_54_0\bin\vc11\lib
, en effet, contient ces fichiers:
08/08/2013 CSer 03:48 12,738,344 libboost_unit_test_framework-vc110-mt-1
_54.lib
08/08/2013 CSer 03:44 31,489,264 libboost_unit_test_framework-vc110-mt-g
d-1_54.lib
08/08/2013 CSer 04:10 14,109,766 libboost_unit_test_framework-vc110-mt-s
-1_54.lib
08/08/2013 CSer 03:59 32,856,094 libboost_unit_test_framework-vc110-mt-s
gd-1_54.lib
mais il semble que ceux qui ne sont pas reconnus. quel est le problème?
le Traceback est ici: http://codepad.org/zgL9tpjo
le projet est ici :
https://github.com/Answeror/yapimpl
et
https://github.com/Answeror/ACMake
j'espère que quelqu'un pourrait essayer de cmake la yapimpl
projet
Pouvez-vous exécuter
Avez-vous d'exécuter la commande CMake ci-dessus? Je préfère voir la sortie de CMake avec boost diagnostics allumé que d'essayer et de configurer yapimpl 🙂
la sortie est ici
cmake . -DBoost_DEBUG=ON -DBoost_DETAILED_FAILURE_MSG=ON
et coller la sortie ici, s'il vous plaît?Avez-vous d'exécuter la commande CMake ci-dessus? Je préfère voir la sortie de CMake avec boost diagnostics allumé que d'essayer et de configurer yapimpl 🙂
la sortie est ici
OriginalL'auteur zhangxaochen | 2013-09-03
Vous devez vous connecter pour publier un commentaire.
Que votre bibliothèque de noms commencent tous par
lib
, il semble que vous avez construit des versions statiques des bibliothèques boost. Le stimuler les conventions de nommage état:Dans la sortie générée par CMake, il y a une ligne qui dit:
Aussi, vous pouvez voir que les noms de bibliothèque CMake est à la recherche de ne pas commencer avec
lib
:Dire CMake pour la recherche de la version statique de Boost, il vous suffit de définir
Boost_USE_STATIC_LIBS
àON
. Vous pouvez le faire dans votre CMakeLists.txt avant appelfind_package(Boost ...)
:ou vous pouvez simplement le mettre sur la ligne de commande:
Pour plus d'info sur le
FindBoost
CMake module, voir les docs, ou d'exécuter-DBoost_USE_STATIC_LIBS=ON
, mais le résultat montre qu'il devientOFF
plus tard, pourriez-vous vérifier les projets ( github.com/Answeror/yapimpl et github.com/Answeror/ACMake) pour voir ce qui se passe?Il y a quelques endroits dans la montagne de CMake code où
Boost_USE_STATIC_LIBS
est fixé àOFF
par défaut. Pour la première, pouvez-vous essayer d'exécutercmake . -DBOOST_SUPPORT_STATIC=ON
s'il vous plaît? Aussi, si vous ajoutezvariable_watch(Boost_USE_STATIC_LIBS)
vers le haut de votre propre CMakeLists.txt, il devrait afficher un message à chaque fois que la variable est modifiée.OriginalL'auteur Fraser
J'ai seulement mis BOOST_ROOT lors de l'utilisation de CMake et boost. Tout le reste fonctionne sans aucun problème
BOOST_ROOT
? C'est ce que vous êtes en paramètre dans la commande ci-dessus.vous avez raison, je vais modifier cela dans ma réponse
OriginalL'auteur Vertexwahn