....SFML-2.5.1/lib/cmake/SFML
(пишу по памяти, проверьте сами что там лежит SFMLConfig.cmake). CMake должен найти этот конфиг файл и обработать его, там помимо инклуд-путей ещё много-много интересного делается.target_include_directories(Course_Work PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
. target_include_directories, насчёт этого немного не понял, это для чего нужно и в какой CMake добавить ?
D:/Lib/C++/boost_1_82_0/stage/lib/cmake
find_package(Boost 1.82 COMPONENTS json REQUIRED CONFIG)
, ну и версию поменяйте на нужную вам.Boost::headers
для всех header-only библиотек, и по одному таргету вида Boost::<имя_библиотеки>
для каждой библиотеки из перечисленных вами. Например, у меня появился таргет Boost::json
target_link_libraries(Course_Work sfml-graphics Boost::json)
. У меня всё работает, json подключился успешно. cmake_minimum_required(VERSION 3.24)
project(Tanks)
set(CMAKE_CXX_STANDARD 17)
set(SFML_STATIC_LIBRARIES TRUE)
find_package(Boost 1.81.0 COMPONENTS system REQUIRED CONFIG)
find_package(SFML COMPONENTS system window graphics audio network REQUIRED CONFIG)
add_subdirectory(src)
add_executable(Tanks)
file(GLOB_RECURSE SOURCE_FILES CONFIGURE_DEPENDS *.cpp *.h)
target_sources(Tanks PRIVATE ${SOURCE_FILES})
target_link_libraries(Tanks sfml-system sfml-window sfml-graphics sfml-audio Boost::system)
Скажите, а нужно ли было добавлять boost в PATH ?
Как почистить кэш , я точно не знаю
и я не нашел boost-config.cmake
вот папка, CMakeCache , exe файл находится в src .
cmake-build-debug
нужно снести и сгенерировать заново (я не знаю что там CLion должен сделать, возможно он и сам предложит сгенерировать автоматически. Главное удалите эту папку, чтобы наверняка всё перегенировалось сначала, и мы были уверены что дело не в CMake-кэше.https://www.jetbrains.com/help/clion/invalidate-ca...
--debug-find
и приложите сюда выхлоп CMake. ...../stage/lib/cmake/Boost-1.81.0
, ну т.е. добавим в путь ещё Boost-1.81.0, ну или какая там у вас версия. И аналогично - если не будет работать и в этом случае, скиньте такие же логи пожалуйста Could NOT find Boost (missing: Boost_INCLUDE_DIR system) (Required is at
least version "1.82")
The following variants have been tried and rejected:
* libboost_system-vc143-mt-gd-x32-1_82.lib (32 bit, need 64)
* libboost_system-vc143-mt-gd-x64-1_82.lib (vc143, detected mgw7, set
Boost_COMPILER to override)
* libboost_system-vc143-mt-x32-1_82.lib (32 bit, need 64)
* libboost_system-vc143-mt-x64-1_82.lib (vc143, detected mgw7, set
Boost_COMPILER to override)
cmake_minimum_required(VERSION 3.24)
project(Tanks)
set(CMAKE_CXX_STANDARD 17)
set(SFML_STATIC_LIBRARIES TRUE)
find_package(Boost 1.82 COMPONENTS signals2 REQUIRED CONFIG)
find_package(SFML COMPONENTS system window graphics audio network REQUIRED CONFIG)
add_subdirectory(src)
add_executable(Tanks)
file(GLOB_RECURSE SOURCE_FILES CONFIGURE_DEPENDS *.cpp *.h)
target_sources(Tanks PRIVATE ${SOURCE_FILES})
target_link_libraries(Tanks sfml-system sfml-window sfml-graphics sfml-audio Boost::signals2)