Tôi có nhiều phiên bản của Boost được cài đặt (Windows 7/MinGW). Tôi cần phải sử dụng một cái cụ thể (1.53.0).Không thể chỉ định BOOST_ROOT cho cmake
tôi xác định BOOST_ROOT trong file CMakeFiles.txt: SET(BOOST_ROOT C:/boost_1_53_0/)
, nhưng tôi cứ bị lỗi này:
> cmake .
BOOST_ROOT=C:/boost_1_53_0/
CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/FindBoost.cmake:1191 (message):
Unable to find the requested Boost libraries.
Boost version: 1.48.0
Boost include path: C:/Boost/include/boost-1_48
Detected version of Boost is too old. Requested version was 1.53 (or
newer).
The following Boost libraries could not be found:
boost_filesystem
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.
tôi cũng xác định BOOST_ROOT như là một biến môi trường, nhưng với kết quả tương tự.
Tại sao cmake vẫn đang tìm phiên bản cũ?
Vui lòng xem: Làm thế nào tôi có thể lấy cmake để tìm cài đặt tăng cường của tôi? http://stackoverflow.com/questions/3016448/how-can-i-get-cmake-to-find-my-boost-installation/13862264#13862264 – Offirmo
@Offirmo: Thật không may tôi cần phải xây dựng nó trên Windows 7. – Pietro
Hãy thử chạy 'cmake. -DBoost_DEBUG = ON' để biết thêm thông tin về những gì CMake đang làm. Nếu nó không tìm thấy phiên bản tăng cường thích hợp trong đường dẫn 'BOOST_ROOT' mà bạn đã chỉ định, nó sẽ tiếp tục tìm kiếm trong các thư mục hệ thống. Phiên bản 1.53 có thể không phù hợp, ví dụ: nếu bạn biên dịch tăng vào libs được chia sẻ, nhưng trong CMakeLists.txt của bạn, bạn chưa chỉ định 'set (Boost_USE_STATIC_LIBS OFF)'. – Fraser