В своем проекте на C++ применяю boost.program_options. В ручную настроенный проект из MSVS 2013 и 2017 отлично компилируется.
В данный момент настраиваю проект для компиляции на Windows 10. В переменную среды BOOST_ROOT
указал значение k:\projects\cpp-workspace\boost-libraries\
.
Вот как я компилировал Boost, пример для одной платформы и debug-конфигурации:
.\b2.exe --without-wave ^
--without-python ^
--without-graph_parallel ^
--without-graph ^
stage --stagedir=stage32 ^
toolset=msvc ^
variant=debug ^
link=static ^
threading=multi ^
runtime-link=static
Появились папки:
В CMake-скрипте написал:
find_package(Boost REQUIRED program_options)
message(status "** Boost_INCLUDE_DIR: ${Boost_INCLUDE_DIR}")
message(status "** ENV BOOST_LIBRARYDIR: $ENV{BOOST_LIBRARYDIR}")
message(status "** Boost_LIBRARY_DIRS: ${Boost_LIBRARY_DIRS}")
message(status "** Boost_LIBRARIES: ${Boost_LIBRARIES}")
Получаю:
CMake Error at C:/Program Files/CMake/share/cmake-3.9/Modules/FindBoost.cmake:1902 (message):
Unable to find the requested Boost libraries.
Boost version: 1.60.0
Boost include path: K:/projects/cpp-workspace/boost-libraries
Could not find the following Boost libraries:
boost_program_options
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.
Call Stack (most recent call first):
readpe/CMakeLists.txt:31 (find_package)
status** Boost_INCLUDE_DIR: K:/projects/cpp-workspace/boost-libraries
status** ENV BOOST_LIBRARYDIR:
status** Boost_LIBRARY_DIRS:
status** Boost_LIBRARIES:
-- Configuring incomplete, errors occurred!
See also "K:/projects/cpp-workspace/readpe/build/CMakeFiles/CMakeOutput.log".
Этот Boost компонент комплируем, а не Header-Only вариант. Об этом говорит наличие файла k:\projects\cpp-workspace\boost-libraries\stage32\lib\libboost_program_options-vc120-mt-s-1_60.lib
.
Что мне нужно сделать, чтобы библиотеки нашлись? Неужели явным образом назначать в переменную ${Boost_LIBRARIES}
?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Подскажите, а способа как использовать <vector> для разделения нужной мне строки на подстроки, которые будут заноситься в массив, нет?
Решение задачи проходит только на 67,20 из 100И я совершенно не могу понять в чем проблема, перепробовал все что знаю, иногда выдает неправильный...