Tôi đã gặp vấn đề tương tự khi cố gắng chạy make
một dự án sau khi cài đặt phiên bản Boost 1.66.0 trên Ubuntu Trusty64. Thông báo lỗi tương tự như (không chính xác như) sau:
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 chắc chắn đã được cài đặt, nhưng CMake không thể phát hiện ra nó. Sau khi dành nhiều thời gian tìm hiểu các đường dẫn và các biến môi trường, cuối cùng tôi đã kiểm tracmake
tự các tùy chọn và tìm thấy những điều sau:
--check-system-vars = Find problems with variable usage in system files
Vì vậy, tôi đã chạy phần sau trong thư mục được đề cập:
sudo cmake --check-system-vars
đã trả lại:
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
và giải quyết vấn đề.
Boost_INCLUDE_DIR
và những phiên bản khác sử dụng cờBoost_INCLUDEDIR
( không có gạch dưới ). Bạn có thể kiểm tra một trong những quyền cho trường hợp của bạn bằng cách đọc cácFindBoost.cmake
tập tin, dướipath-to-cmake/Modules/FindBoost.cmake