Я намагаюся створити якийсь код за допомогою cmake. У коді використовуються деякі бібліотеки Boost. Через це я намагаюся знайти Boost у cmakefile:
find_package(Boost 1.65.1 REQUIRED COMPONENTS unit_test_framework program_options )
У мене встановлена версія boost версії 1.58 через apt (я використовую Linux Mint 18.3), тому я, очевидно, отримую повідомлення про помилку при спробі cmake коду:
CMake Error at /usr/share/cmake-3.5/Modules/FindBoost.cmake:1677 (message):
Unable to find the requested Boost libraries.
Boost version: 1.58.0
Boost include path: /usr/include
Detected version of Boost is too old. Requested version was 1.65.1 (or newer).
Call Stack (most recent call first):
CMakeLists.txt:14 (find_package)
-- Configuring incomplete, errors occurred!
Тож я продовжив завантаження джерела Boost 1.65.1 і створив його за призначенням та встановив його з префіксом
sudo ./b2 install --prefix=/usr/include
Коли я знову намагаюся створити код, він все одновидає таке саме повідомлення про помилку, як і раніше, заявляючи, що не знайшов нову версію. Я намагався видалити версію 1.58 та створити, але тоді cmake взагалі не знайде Boost.
Як я можу встановити Boost таким чином, щоб cmake міг його знайти?
Спасибі заздалегідь, ура!
Відповіді:
0 для відповіді № 1Під час зміни інформації про версію Boost в a find_package(Boost)
Виклик вам потрібно очистити CMakeCache.txt
файл. Інакше використовується кешована інформація з попереднього запуску.