J’essaye de construire la bibliothèque de nuage de points sur Windows. https://github.com/PointCloudLibrary/pcl
Cette bibliothèque nécessite la bibliothèque Boost et je l’ai installée correctement.
Cependant, lorsque j’utilise CMAKE pour construire PCL, il se plaint que
Erreur CMake dans C: / Program Files (x86) /CMake/share/cmake-3.3/Modules/FindBoost.cmake:1245 (message): Impossible de trouver les bibliothèques Boost demandées. Impossible de trouver les fichiers d’en-tête Boost. Veuillez définir BOOST_ROOT dans le répertoire racine contenant Boost ou BOOST_INCLUDEDIR dans le répertoire contenant les en-têtes de Boost. Call Stack (l’appel le plus récent en premier): cmake / pcl_find_boost.cmake: 37 (find_package) CMakeLists.txt: 399 (include)
- boost :: bind retourne un object fonction qui est l’argument d’une fonction nécessitant un pointeur
- Boost sérialisation binary – double tableau d’erreur de longueur fixe
- boost translate: le fichier po ne fonctionne pas
- Erreur du compilateur concernant le fichier Boost UNIQUEMENT lorsque vous essayez d’utiliser Instruments dans Xcode 7.1
- Est-il possible de construire boost avec le support clang et gcc?
J’ai BOOST_ROOT défini dans mes variables d’environnement:
De plus, CMAKE n’affiche même pas les variables BOOST_ROOT ou BOOST_INCLUDEDIR dans sa liste de noms de variables:
Ci-dessous se trouve le fichier pcl_find_boost.cmake
# Find and set Boost flags # If we would like to comstack against a dynamically linked Boost if(PCL_BUILD_WITH_BOOST_DYNAMIC_LINKING_WIN32 AND WIN32) set(Boost_USE_STATIC_LIBS OFF) set(Boost_USE_STATIC OFF) set(Boost_USE_MULTITHREAD ON) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBOOST_ALL_DYN_LINK -DBOOST_ALL_NO_LIB") else(PCL_BUILD_WITH_BOOST_DYNAMIC_LINKING_WIN32 AND WIN32) if(NOT PCL_SHARED_LIBS OR WIN32) set(Boost_USE_STATIC_LIBS ON) set(Boost_USE_STATIC ON) endif(NOT PCL_SHARED_LIBS OR WIN32) endif(PCL_BUILD_WITH_BOOST_DYNAMIC_LINKING_WIN32 AND WIN32) if(${CMAKE_VERSION} VERSION_LESS 2.8.5) SET(Boost_ADDITIONAL_VERSIONS "1.43" "1.43.0" "1.44" "1.44.0" "1.45" "1.45.0" "1.46.1" "1.46.0" "1.46" "1.47" "1.47.0") else(${CMAKE_VERSION} VERSION_LESS 2.8.5) SET(Boost_ADDITIONAL_VERSIONS "1.47" "1.47.0" "1.48" "1.48.0" "1.49" "1.49.0") endif(${CMAKE_VERSION} VERSION_LESS 2.8.5) # Disable the config mode of find_package(Boost) set(Boost_NO_BOOST_CMAKE ON) # Optional boost modules find_package(Boost 1.40.0 QUIET COMPONENTS serialization mpi) if(Boost_SERIALIZATION_FOUND) set(BOOST_SERIALIZATION_FOUND TRUE) endif(Boost_SERIALIZATION_FOUND) # Required boost modules if(WITH_OPENNI2) set(BOOST_REQUIRED_MODULES system filesystem thread date_time iostreams chrono) find_package(Boost 1.47.0 REQUIRED COMPONENTS ${BOOST_REQUIRED_MODULES}) else() set(BOOST_REQUIRED_MODULES system filesystem thread date_time iostreams) find_package(Boost 1.40.0 REQUIRED COMPONENTS ${BOOST_REQUIRED_MODULES}) endif() if(Boost_FOUND) set(BOOST_FOUND TRUE) # Obtain diagnostic information about Boost's automatic linking outputted # during compilation time. add_definitions(${Boost_LIB_DIAGNOSTIC_DEFINITIONS}) include_directories(SYSTEM ${Boost_INCLUDE_DIRS}) link_directories(${Boost_LIBRARY_DIRS}) endif(Boost_FOUND)
Merci d’avance pour l’aide!