не удается подключить библиотеку SFML к CLion

Всем привет. Пытаюсь прогать на маке. В качестве компилятора использую CLion. SFML устанавливала на официальном сайте, там же и взяла тестовый код. Вроде бы всё делаю по инструкциям в интернетах, но ничего не выходит. Ввожу в cmake

cmake_minimum_required(VERSION 3.26)
project(sfml_01)

set(CMAKE_CXX_STANDARD 17)
find_package(SFML 2.6.1 COMPONENTS graphics audio)

add_executable(sfml_01 main.cpp)

target_link_libraries(sfml_01 sfml-graphics sfml-window sfml-audio)

В main тем временем

#include <SFML/Graphics.hpp>

int main()
{
    sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
    sf::CircleShape shape(100.f);
    shape.setFillColor(sf::Color::Green);

    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }

        window.clear();
        window.draw(shape);
        window.display();
    }

    return 0;
}

И вот такую ошибку пишет

CMake Warning at CMakeLists.txt:5 (find_package):
  By not providing "FindSFML.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "SFML", but
  CMake did not find one.

  Could not find a package configuration file provided by "SFML" (requested
  version 2.6.1) with any of the following names:

    SFMLConfig.cmake
    sfml-config.cmake

  Add the installation prefix of "SFML" to CMAKE_PREFIX_PATH or set
  "SFML_DIR" to a directory containing one of the above files.  If "SFML"
  provides a separate development package or SDK, be sure it has been
  installed.
-- Configuring done (0.0s)
-- Generating done (0.0s)
-- Build files have been written to: /Users/chebooreka/CLionProjects/sfml_01/cmake-build-debug
[1/2] Building CXX object CMakeFiles/sfml_01.dir/main.cpp.o
FAILED: CMakeFiles/sfml_01.dir/main.cpp.o 
fatal error: 'SFML/Graphics.hpp' file not found
#include <SFML/Graphics.hpp>
         ^~~~~~~~~~~~~~~~~~~
1 error generated.
ninja: build stopped: subcommand failed.

Что мне сделать, чтобы оно работало? Была бы рада объяснению на чайничьем языке))


Ответы (1 шт):

Автор решения: CheBoore_ ka

Товарищи, спустя 4 дня попыток... ПОЛУЧИЛОСЬ!!!!! короче, 1е, что нужно сделать, это поместить всё в нужные папки, т.е. всё то, что было в скаченной библиотеке нужно сунуть по нужным местам:

  1. framework: копируете всё из frameworks в library/frameworks
  2. из lib копируете в /usr/local/lib
  3. из include в /usr/local/include
  4. из extlibs /library/frameworks (для тех, кто такой же валенок как я, чтобы найти usr: Macintosh HD -> пользователи -> ваш аккаунт -> нажимаете комманд + шифт + > - и вуаля)) дальше, в cmake.txt пишите:
cmake_minimum_required(VERSION ваша версия)
project(NewSFMLProject LANGUAGES CXX)

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(INC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include)
option(BUILD_SHARED_LIBS "Build shared libraries" OFF)

include(FetchContent)
FetchContent_Declare(SFML
        GIT_REPOSITORY https://github.com/SFML/SFML.git
        GIT_TAG ваша версия sfml)
FetchContent_MakeAvailable(SFML)

add_executable(${PROJECT_NAME} main.cpp)

target_include_directories(${PROJECT_NAME} PUBLIC ${INC_DIR})
target_link_libraries(${PROJECT_NAME} PRIVATE sfml-graphics)
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17)

install(TARGETS ${PROJECT_NAME})

дальше, в папке проекта удалите "cmake-builde-debug", после этого запускайте программу. Начнется скачивание. Не завершайте процесс, должно пройти время. Если после этого не заработало, то...

ВНИМАНИЕ! хрень знает, к каким последствиям это приведет, чисто в теории это не что-то прям важное, но я чебурек, с опытом в программированием ограниченным подготовкой к егэ и владением компьютером на уровне "умеет создать папку и перезагружать компутер" Если вас это не волнует.....

Вы можете в library удалить Mono.frameworks. Обязательно перед этим скопируйте эту папку куда-нибудь, где вы ее случайно не удалите и не потеряете, ибо если вдруг что-то перестает работать, то нужно будет вернуть ее на место. После этого перезайдите в компилятор и запустите программу. У меня всё работало.

Ура, поздравляю, вы закончили подключать библиотеку и впереди всё самое страшное! Удачи)

Хотелось бы также предупредить владельцев яблок, чтобы вы не тупили так же, как я: если у вас m1/m2, то архитектура у вас на arm. Если скачаете не тот sfml, то работать не буид

(за эти 4 дня я очень много всего попробовала, так что есть маленькая вероятность, что я могла что-то упустить, если не сработает, то напишите туть в ответах, если увижу, то обязательно попытаюсь помочь))

→ Ссылка