41 / 41 / 11
Регистрация: 02.04.2016
Сообщений: 313
|
|||||||||||
1 | |||||||||||
Не получается заставить CMake работать с boost25.07.2018, 02:03. Показов 3789. Ответов 1
Сколько уже перечитал топиков - без толку. Не работает. Имеется:
- Windows 10 - CLion 2018.1.6 - CMake 3.12 - Boost 1.67.0 - mingw32-i686-8.1.0-release-posix-dwarf-rt_v6-rev0 Boost скачал с официального сайта. По инструкции https://theboostcpplibraries.c... stallation я запустил из корневого каталога bootstrap.bat . После этого добавил в PATH путь к компилятору запустил bjam --toolset=gcc --build-type=complete --prefix=D:\Boost install В CLion задал внешний CMake 3.12, вместо встроенного 3.10.3, т.к. прочитал, что только версии CMake, вышедшие после релиза Boost, могут корректно определять его предыдущие версии. Далее создал проект с таким содержимым: main.cpp
CMakeLists.txt
Boost находится, даже CLion определяет существование <boost/filesystem.hpp>. Однако, как сказано в документации к Boost, filesystem нужно собирать, т.к. это не header-only библиотека. Ну и при изменении find_package(Boost 1.67.0) на find_package(Boost 1.67.0 COMPONENTS REQUIRED filesystem system) Boost перестаёт находится, а я получаю эти ошибки: Кликните здесь для просмотра всего текста
Код
D:\Programs\ProgrammingEnvironment\Compilers\CMake-3-12\bin\cmake.exe -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - MinGW Makefiles" D:\Programs\ProgrammingEnvironment\LocalProjects\Tests\Test-Boost-Filesystem CMake Error at D:/Programs/ProgrammingEnvironment/Compilers/CMake-3-12/share/cmake-3.12/Modules/FindBoost.cmake:2044 (message): Unable to find the requested Boost libraries. Boost version: 1.67.0 Boost include path: D:/Boost/include/boost-1_67 Could not find the following Boost libraries: boost_filesystem boost_system 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. Хотя в папке они существуют. Подскажите пожалуйста верный путь
0
|
25.07.2018, 02:03 | |
Ответы с готовыми решениями:
1
Boost::asio::read как заставить работать с таймаутом? Не получается заставить работать сокеты по интернету FastProg программатор, не получается заставить работать Не получается заставить работать одновременно два jQuery решения |
41 / 41 / 11
Регистрация: 02.04.2016
Сообщений: 313
|
|||||||||||
25.07.2018, 19:15 [ТС] | 2 | ||||||||||
Пересобрал, используя
bootstrap.bat gcc b2 -j8 -toolset=gcc install address-model=32 --build-type=complete --prefix="C:\Program Files (x86)\Boost" Результат тот же - подключить filesystem не удаётся. Что и где читать уже и не знаю, разве что другие инструменты использовать. Добавлено через 38 минут Забавно, заработало. Включил set(Boost_DEBUG 1) , посмотрел какие библиотеки ищутся. Убрал из названия файла -x32-1_67 , сделавlibboost_filesystem-mgw81-mt-d.a иlibboost_system-mgw81-mt-d.a Вопрос следующий: мне убрать из имён файлов все эти -x32-1_67 или есть не костыльный вариант? Может, пересобрать с другими ключами? Какими? Добавлено через 1 час 4 минуты Пересобрал так: bjam -j8 toolset=gcc --build-type=complete --prefix=D:\Programs\ProgrammingEnvironment\Librares\boost_1_67_0\Build --layout=tagged address-model=32 install Работает. Остался вопрос о варнингах при сборке моего проекта (при сборке буста они тоже были в изобилии): Кликните здесь для просмотра всего текста
Если перейти к этому файлу, то там: Кликните здесь для просмотра всего текста
Очевидно, вторая скобка присутствует, но MinGW считает иначе. Просто заглушить это предупреждение на уровне компилятора? Или можно это сделать конкретно для буста? Добавлено через 2 часа 14 минут Без особой "боли" добавил SYSTEM и забыл о проблеме. include_directories(SYSTEM ${Boost_INCLUDE_DIRS})
0
|
25.07.2018, 19:15 | |
25.07.2018, 19:15 | |
Помогаю со студенческими работами здесь
2
Boost и Cmake Boost & CMake Boost + Cmake + Clion Boost pre build vs cmake find Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |