Я пытаюсь скомпилировать инструмент, который дал мне мой учитель. Он использует библиотеки Boost (которые я установил и установил переменные среды), а Boost найден Cmake.Cmake ищет неправильные файлы?
Однако Cmake говорит мне, что не может найти библиотеку с именем «boost_program_options». Результат cmake говорит мне, что он ищет файлы с именами «libboost_program_options- vc110 -mt-1_61». В моем Boost-каталоге я могу найти файлы с именем «libboost_program_options- vc140 -mt-1_61», которые все содержатся в D: \ local \ boost_1_61_0 \ lib64-msvc-14.0 (к которому я установил BOOST_LIBRARYDIR). BOOST_ROOT ist установлен в D: \ local \ boost_1_61_0, а BOOST_INCLUDEDIR установлен в D: \ local \ boost_1_61_0 \ boost. Итак, почему Cmake ищет неправильные файлы?
Cmake файл я получил это
project(generator)
cmake_minimum_required(VERSION 2.8)
set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_MULTITHREADED ON)
set(BOOST_MIN_VERSION "1.55.0")
find_package(Boost COMPONENTS program_options REQUIRED)
include_directories(${Boost_INCLUDE_DIRS})
aux_source_directory(. SRC_LIST)
add_executable(${PROJECT_NAME} ${SRC_LIST})
set(CMAKE_CXX_FLAGS "-lboost_program_options")
if(UNIX)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=gnu++0x")
endif()
Благодарим вас за полезное разъяснение, но я все еще не уверен, как исправить мою проблему. Должен ли я использовать другую установку Boost? Или я могу как-то сказать Cmake искать -vc140 файлов? – user3190009
Вы должны использовать установку Boost, которая подходит для версии Visual Studio ** у вас есть **. Если у вас установлено несколько Visual Studio, вам нужно указать cmake, какую установку вы хотите использовать. Это достигается путем указания соответствующего [cmake-generator] (https://cmake.org/cmake/help/v3.0/manual/cmake-generators.7.html) с опцией '-G' в вызове' cmake'. – Tsyvarev