В течение последних нескольких дней я изо всех сил пытался получить библиотеки Boost, включенные в мой проект. Я читал и использовал предложения, сделанные многочисленными плакатами в Stack Overflow, и по какой-то причине я не понимаю, что я все еще не могу заставить CMake найти Boost, или если он найдет Boost, я не могу скомпилировать, потому что он не может найти библиотеку boost_system, с которой, по-видимому, мне нужно связать, чтобы удалить системную конфигурацию(), не найденную ошибку.CLion and Boost 1.60.0
Я в настоящее время работает на Windows 10 с реализацией MinGW ГНУ C++ Compiler v4.9.3-1
Boost, извлекается сейчас на моей системе здесь:
C:\boost_1_60_0
Это то, что мой CMake файл в настоящее время выглядит следующим образом:
cmake_minimum_required(VERSION 3.5)
project(Engine)
#SET(GCC_COVERAGE_LINK_FLAGS "-lboost_system")
message(STATUS "start running cmake...")
SET(BOOSTROOT "C:/boost_1_60_0/")
SET(BOOST_ROOT "C:/boost_1_60_0/")
SET(BOOST_LIBRARYDIR "C:/boost_1_60_0/libs/")
find_package(Boost 1.60.0 COMPONENTS system REQUIRED)
if(Boost_FOUND)
message(STATUS "Boost_INCLUDE_DIRS: ${Boost_INCLUDE_DIRS}")
message(STATUS "Boost_LIBRARIES: ${Boost_LIBRARIES}")
message(STATUS "Boost_VERSION: ${Boost_VERSION}")
include_directories(${Boost_INCLUDE_DIRS})
add_definitions("-DHAS_BOOST")
endif()
add_executable(Engine main.cpp)
if(Boost_FOUND)
target_link_libraries(Engine ${Boost_LIBRARIES})
endif()
set(SOURCE_FILES main.cpp)
ошибка, что я в настоящее время получаю:
Error:Unable to find the requested Boost libraries.
Boost version: 1.60.0
Boost include path: C:/boost_1_60_0
Could not find the following Boost libraries:
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.
** UPDATE ** Это выход при работе CMake с -DBoost_Debug = ON:
_boost_TEST_VERSIONS = 1.61.0;1.61;1.60.0;1.60
Boost_USE_MULTITHREADED = TRUE
Boost_USE_STATIC_LIBS =
Boost_USE_STATIC_RUNTIME =
Boost_ADDITIONAL_VERSIONS =
Boost_NO_SYSTEM_PATHS =
Declared as CMake or Environmental Variables:
BOOST_ROOT = C:/boost_1_60_0/
BOOST_INCLUDEDIR =
BOOST_LIBRARYDIR = C:/boost_1_60_0/libs/
_boost_TEST_VERSIONS = 1.61.0;1.61;1.60.0;1.60
location of version.hpp: C:/boost_1_60_0/boost/version.hpp
version.hpp reveals boost 1.60.0
guessed _boost_COMPILER = -mgw49
_boost_MULTITHREADED = -mt
_boost_RELEASE_ABI_TAG = -
_boost_DEBUG_ABI_TAG = -d
_boost_LIBRARY_SEARCH_DIRS_RELEASE = C:/boost_1_60_0/libs/;C:/boost_1_60_0//lib;C:/boost_1_60_0//stage/lib;C:/boost_1_60_0/lib;C:/boost_1_60_0/../lib;C:/boost_1_60_0/stage/lib;PATHS;C:/boost/lib;C:/boost;/sw/local/lib_boost_LIBRARY_SEARCH_DIRS_DEBUG = C:/boost_1_60_0/libs/;C:/boost_1_60_0//lib;C:/boost_1_60_0//stage/lib;C:/boost_1_60_0/lib;C:/boost_1_60_0/../lib;C:/boost_1_60_0/stage/lib;PATHS;C:/boost/lib;C:/boost;/sw/local/lib
Searching for SYSTEM_LIBRARY_RELEASE: boost_system-mgw49-mt-1_60;boost_system-mgw49-mt;boost_system-mt-1_60;boost_system-mt;boost_system
Searching for SYSTEM_LIBRARY_DEBUG: boost_system-mgw49-mt-d-1_60;boost_system-mgw49-mt-d;boost_system-mt-d-1_60;boost_system-mt-d;boost_system-mt;boost_system
Заранее спасибо
Попробуйте повторно работает с - DBoost_DEBUG = ON? Кроме того, может быть, вы найдете ответ здесь: http://stackoverflow.com/questions/13280823/cmake-not-finding-boost –
Я не уверен, где установить или как запустить его с -DBoost_DEBUG = ON. Nevermind Я понял, обновление выше – Richard
Попробуйте найти файл, который начинается с «libboost_system» в C:/boost_1_60_0/и проверяет, что он находится в _boost_LIBRARY_SEARCH_DIRS_RELEASE или _boost_LIBRARY_SEARCH_DIRS_DEBUG? –