Добрый день, собираю две различные библиотеки с участием буста, но при
CMAKE ..
пишет, что:
Could NOT find Boost (missing: Boost_INCLUDE_DIR system iostreams)
(Required is at least version "1.58.0")
Хотя в переменных окружения у меня прописаны переменные : Boost_INCLUD_DIR "Путь до папки Boost1.58" и Boost_LIBRARIE : "Путь до папки Boost1.58\libs"
Что делаю не так?
Здравствуйте, arfaa, Вы писали:
A>Хотя в переменных окружения у меня прописаны переменные : Boost_INCLUD_DIR "Путь до папки Boost1.58" и Boost_LIBRARIE : "Путь до папки Boost1.58\libs" A>Что делаю не так?
Нужно прописать CMake-ские переменные (ключ -D для cmake), а не переменные окружения
Здравствуйте, Nuzhny, Вы писали:
N>Здравствуйте, arfaa, Вы писали:
A>>Что делаю не так?
N>Укажи вручную в cmake-gui или параметром командной строки в cmake
Здравствуйте, GhostCoders, Вы писали:
GC>Здравствуйте, arfaa, Вы писали:
A>>Хотя в переменных окружения у меня прописаны переменные : Boost_INCLUD_DIR "Путь до папки Boost1.58" и Boost_LIBRARIE : "Путь до папки Boost1.58\libs" A>>Что делаю не так? GC>Нужно прописать CMake-ские переменные (ключ -D для cmake), а не переменные окружения
Спасибо за ответ, но можно поподробнее, что и куда прописывать?
Далее, что указано в cmake_minimum_required? Надо помнить, что желаемая версия, там указанная, и будет применяться при сборке, то есть все прошлые баги особенности CMake включатся, даже если они изменены в более новых версиях.
Если не получается, то попробуй обновить boost, обновить cmake и указать в cmake_minimum_required текущую версию cmake.
Здравствуйте, Nuzhny, Вы писали:
N>Здравствуйте, arfaa, Вы писали:
A>>Указад, но все равно не собирается:
N>Так понять сложно, а что в самом CMakeLists.txt написано? Обычно там должно быть нечто похожее: N>
N>Далее, что указано в cmake_minimum_required? Надо помнить, что желаемая версия, там указанная, и будет применяться при сборке, то есть все прошлые баги особенности CMake включатся, даже если они изменены в более новых версиях.
N>Если не получается, то попробуй обновить boost, обновить cmake и указать в cmake_minimum_required текущую версию cmake.
A>find_package(Boost 1.58.0 REQUIRED COMPONENTS system iostreams)
A>add_library(boost INTERFACE IMPORTED)
A>set_property(TARGET boost PROPERTY
A> INTERFACE_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIR})
A>set_property(TARGET boost PROPERTY
A> INTERFACE_LINK_LIBRARIES ${Boost_LIBRARIES})
A>
Попробуй все варианты. Не знаю, где и какой у тебя boost, я сам собираю себе тот, который мне нужен. Соответственно опции Boost_USE_STATIC_LIBS, Boost_USE_MULTITHREADED, Boost_USE_STATIC_RUNTIME выставлены не просто так, а именно те варинты, которые собраны именно у меня. Попробуй их установить у себя такими, каким у тебя собран сам boost.
N>>Далее, что указано в cmake_minimum_required?
А у тебя какой cmake? Версия 3.2 достаточно старая, также как и Boost 1.58.0. Есть возможность использовать поновее, уже много лет прошло с тех релизов.
N>Попробуй все варианты. Не знаю, где и какой у тебя boost, я сам собираю себе тот, который мне нужен. Соответственно опции Boost_USE_STATIC_LIBS, Boost_USE_MULTITHREADED, Boost_USE_STATIC_RUNTIME выставлены не просто так, а именно те варинты, которые собраны именно у меня. Попробуй их установить у себя такими, каким у тебя собран сам boost.
N>>>Далее, что указано в cmake_minimum_required? N>А у тебя какой cmake? Версия 3.2 достаточно старая, также как и Boost 1.58.0. Есть возможность использовать поновее, уже много лет прошло с тех релизов.
CMake поменял на 3.16.4
Boost собирал тоже сам 1.58.0
Здравствуйте, arfaa, Вы писали:
A>Хотя в переменных окружения у меня прописаны переменные : Boost_INCLUD_DIR "Путь до папки Boost1.58" и Boost_LIBRARIE : "Путь до папки Boost1.58\libs" A>Что делаю не так?
платформа виндовс?
Здравствуйте, arfaa, Вы писали:
GC>>Нужно прописать CMake-ские переменные (ключ -D для cmake), а не переменные окружения A>Спасибо за ответ, но можно поподробнее, что и куда прописывать?
Переменные смаке можно задать через аргументы командной строки, а можно через cmake-gui, как уже подсказал Nuzhny.
Просто cmake-gui представляет более удобный графический способ задать их, и вызывает cmake с ключом -D, типа
Здравствуйте, GhostCoders, Вы писали:
GC>Стоп, а почему не указываете путь к include? GC>Типа, C:/Boost/include/boost-1_71
GC>В подпапке boost есть подпапка include/
Допустим у меня буст находится в папке C:\Boost
Однако я указываю значение переменной Boost_INCLUDE_DIR как C:/Boost/include/boost-1_71
То есть внутри C:\Users/m.s/Programs/boost_158_0 должна быть папка C:/Users/m.s/Programs/boost_158_0/include/boost-1_58
Вот ее и надо указівать. Плюс еще слеши лучше правые использовать (в одном стиле).
A>Хотя в переменных окружения у меня прописаны переменные : Boost_INCLUD_DIR "Путь до папки Boost1.58" и Boost_LIBRARIE : "Путь до папки Boost1.58\libs" A>Что делаю не так?
У тебя опечатки в названиях переменных.
Здравствуйте, Muxa, Вы писали:
A>>Хотя в переменных окружения у меня прописаны переменные : Boost_INCLUD_DIR "Путь до папки Boost1.58" и Boost_LIBRARIE : "Путь до папки Boost1.58\libs" A>>Что делаю не так? M>У тебя опечатки в названиях переменных.
У него в цмейк файле всё нормально.
Здравствуйте, Kernan, Вы писали:
K>Здравствуйте, arfaa, Вы писали:
A>>Хотя в переменных окружения у меня прописаны переменные : Boost_INCLUD_DIR "Путь до папки Boost1.58" и Boost_LIBRARIE : "Путь до папки Boost1.58\libs" A>>Что делаю не так? K>платформа виндовс?
Здравствуйте, GhostCoders, Вы писали:
GC>Здравствуйте, GhostCoders, Вы писали:
GC>>Стоп, а почему не указываете путь к include? GC>>Типа, C:/Boost/include/boost-1_71
GC>>В подпапке boost есть подпапка include/ GC>Допустим у меня буст находится в папке C:\Boost GC>Однако я указываю значение переменной Boost_INCLUDE_DIR как C:/Boost/include/boost-1_71 GC>То есть внутри C:\Users/m.s/Programs/boost_158_0 должна быть папка C:/Users/m.s/Programs/boost_158_0/include/boost-1_58 GC>Вот ее и надо указівать. Плюс еще слеши лучше правые использовать (в одном стиле).
Здравствуйте, Muxa, Вы писали:
A>>Хотя в переменных окружения у меня прописаны переменные : Boost_INCLUD_DIR "Путь до папки Boost1.58" и Boost_LIBRARIE : "Путь до папки Boost1.58\libs" A>>Что делаю не так? M>У тебя опечатки в названиях переменных.
Здравствуйте, arfaa, Вы писали:
A>Добрый день, собираю две различные библиотеки с участием буста, но при A>
A>CMAKE ..
A>
A>пишет, что: A>
A> Could NOT find Boost (missing: Boost_INCLUDE_DIR system iostreams)
A> (Required is at least version "1.58.0")
A>
A>Хотя в переменных окружения у меня прописаны переменные : Boost_INCLUD_DIR "Путь до папки Boost1.58" и Boost_LIBRARIE : "Путь до папки Boost1.58\libs" A>Что делаю не так?
cmake .... -DBoost_DEBUG=ON
и увидишь что cmake ищет и где