CMake avec Boost ne pouvait pas trouver les bibliothèques statiques
J'ai quelques problèmes avec CMake et de la bibliothèque Boost. J'ai l'erreur suivante :
CMake Error at C:/Program Files (x86)/CMake
2.8/share/cmake-2.8/Modules/FindBoost.cmake:1111 (message): Unable to find the requested Boost libraries.
Boost version: 1.55.0
Boost include path: C:/local/boost_1_55_0
Could not find the following static Boost libraries:
boost_system
boost_date_time
boost_regex
No Boost libraries were found. You may need to set BOOST_LIBRARYDIR
to the directory containing Boost libraries or BOOST_ROOT to the
location of Boost. Call Stack (most recent call first):
CMakeLists.txt:10 (find_package)
-- Configuring incomplete, errors occurred!
J'ai fait tout ce que j'ai trouvé sur internet dans mon CMakeLists.txt mais cela ne fonctionne pas, je ne comprends pas.
Je suis sous Windows 8 avec Visual Studio 12 et Boost est installé dans le répertoire par défaut. (C:/local/boost_1_55_0)
Ici mon CMakeLists.txt :
cmake_minimum_required(VERSION 2.6)
project (server)
set(BOOST_ROOT "c:\\local\\boost_1_55_0")
set (Boost_USE_STATIC_LIBS ON) set (Boost_MULTITHREADED ON) set
(Boost_USE_STATIC_RUNTIME OFF)
find_package(Boost 1.55 COMPONENTS system date_time regex REQUIRED)
add_definitions(${Boost_LIB_DIAGNOSTIC_DEFINITIONS})
set(SRCS main.cpp Server.cpp Client.cpp)
set(HEADERS Server.h Client.h)
include_directories(${Boost_INCLUDE_DIR})
add_executable(babel_server ${SRCS} ${HEADERS})
target_link_libraries(babel_server ${Boost_LIBRARIES})
Quelqu'un peut m'aider s'il vous plaît ?
Grâce
pouvez-vous imprimer les valeurs de Boost_LIBRARYDIR et Boost_INCLUDE_DIR à l'aide de message() dans votre Cmake script?
Si vous allez mettre un chemin à l'intérieur de votre CMakeLists.txt je voudrais utiliser / au lieu de \
Nous montrer la commande que vous avez utilisé pour installer boost. Pour moi, j'ai l'habitude de l'utiliser " ./b2 installer"
Je ne suis pas d'utiliser une commande pour "installer", autres que apt/dnf/etc.
Si vous allez mettre un chemin à l'intérieur de votre CMakeLists.txt je voudrais utiliser / au lieu de \
Nous montrer la commande que vous avez utilisé pour installer boost. Pour moi, j'ai l'habitude de l'utiliser " ./b2 installer"
Je ne suis pas d'utiliser une commande pour "installer", autres que apt/dnf/etc.
OriginalL'auteur Nonouf | 2013-12-18
Vous devez vous connecter pour publier un commentaire.
Je suppose que votre compilé les bibliothèques n'est pas dans votre BOOST_ROOT/lib/dossier. Dans ce cas, vous devez définir votre dossier lib chemin d'accès au répertoire.
ou
/usr/lib/libboost_regex.dll.a
OriginalL'auteur kwanti
J'ai le même problème
résolu en utilisant la commande
OriginalL'auteur CLIFFORD P Y
Je suis sur windows 10 avec vs2017 ,je viens de rajouter :
avant
dans
FindBoost.cmake
fichier et a résolu mon problème!!!!OriginalL'auteur chen kailin