Ho avuto lo stesso problema durante il tentativo di eseguire make
un progetto dopo aver installato la versione Boost 1.66.0 su Ubuntu Trusty64. Il messaggio di errore era simile a (non esattamente come) questo:
CMake Error at
/usr/local/Cellar/cmake/3.3.2/share/cmake/Modules/FindBoost.cmake:1245 (message):
Unable to find the requested Boost libraries.
Boost version: 0.0.0
Boost include path: /usr/include
Detected version of Boost is too old. Requested version was 1.36 (or newer).
Call Stack (most recent call first):
CMakeLists.txt:10 (FIND_PACKAGE)
Boost è stato sicuramente installato, ma CMake non è riuscito a rilevarlo. Dopo aver passato molto tempo ad armeggiare con percorsi e variabili ambientali, alla fine ho finito per controllare cmake
se stesso per le opzioni e ho trovato quanto segue:
--check-system-vars = Find problems with variable usage in system files
Quindi ho eseguito quanto segue nella directory in questione:
sudo cmake --check-system-vars
che ha restituito:
Also check system files when warning about unused and uninitialized variables.
-- Boost version: 1.66.0
-- Found the following Boost libraries:
-- system
-- filesystem
-- thread
-- date_time
-- chrono
-- regex
-- serialization
-- program_options
-- Found Git: /usr/bin/git
-- Configuring done
-- Generating done
-- Build files have been written to: /home/user/myproject
e ha risolto il problema.
Boost_INCLUDE_DIR
e altre usano la bandieraBoost_INCLUDEDIR
( senza il trattino basso ). Puoi controllare quello giusto per il tuo caso leggendo ilFindBoost.cmake
file, sottopath-to-cmake/Modules/FindBoost.cmake