Saya mengalami masalah yang sama ketika mencoba menjalankan make
sebuah proyek setelah menginstal Boost versi 1.66.0 di Ubuntu Trusty64. Pesan kesalahannya mirip dengan (tidak persis seperti) yang ini:
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 sudah pasti dipasang, tetapi CMake tidak dapat mendeteksinya. Setelah menghabiskan banyak waktu untuk mengutak-atik jalur dan variabel lingkungan, saya akhirnya memeriksa cmake
sendiri untuk opsi dan menemukan yang berikut:
--check-system-vars = Find problems with variable usage in system files
Jadi saya menjalankan yang berikut ini di direktori yang dipermasalahkan:
sudo cmake --check-system-vars
yang mengembalikan:
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
dan menyelesaikan masalah.
Boost_INCLUDE_DIR
dan yang lainnya menggunakan flagBoost_INCLUDEDIR
( tanpa garis bawah ). Anda dapat memeriksa yang tepat untuk kasus Anda dengan membacaFindBoost.cmake
file, di bawahpath-to-cmake/Modules/FindBoost.cmake