In den letzten paar Tagen habe ich mich bemüht, die Boost-Bibliotheken in mein Projekt aufzunehmen. Ich lese und benutze Vorschläge von zahlreichen Postern auf Stack Overflow und aus irgendeinem Grund, die ich nicht verstehe, kann ich CMake immer noch nicht finden Boost zu finden, oder wenn Boost findet, kann ich nicht kompilieren, weil es nicht kann finde die boost_system library, mit der ich offensichtlich verlinken muss, um den system config() not found error zu entfernen.CLion und Boost 1.60.0
ich zur Zeit auf Windows arbeite 10 mit dem MinGW Umsetzung der GNU C++ Compiler v4.9.3-1
Boost zur Zeit auf meinem System hier extrahiert:
C:\boost_1_60_0
Dies ist, was mein CMake Datei sieht derzeit wie:
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)
Die Fehler, die ich zur Zeit bin immer ist:
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 ** Dies ist der Ausgang, wenn cmake mit -DBoost_Debug = ON ausgeführt wird:
_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
Vielen Dank im Voraus
Versuchen Wieder läuft in der Diagnostik helfen - DBoost_DEBUG = EIN? Vielleicht finden Sie auch hier eine Antwort: http://stackoverflow.com/questions/13280823/cmake-not-finding-boost –
Ich bin mir nicht sicher, wo ich einstellen oder wie ich es mit -DBoost_DEBUG = ON ausführen soll. Nevermind Ich fand es heraus, Update über – Richard
Versuchen Sie, nach Datei zu suchen, die mit "libboost_system" in C:/boost_1_60_0/beginnt, und zu überprüfen, dass es sich in _boost_LIBRARY_SEARCH_DIRS_RELEASE oder _boost_LIBRARY_SEARCH_DIRS_DEBUG befindet? –