@PrizmMARgh

Что делать, если CLion выделяет правильную строку, как ошибку?

По туториалу создала стандартный проект sfml. Он работает нормально (создаётся окно с зелёным кругом, как и надо), но редактор подчёркивает строку подключения graphics.hpp, а при наведении пишет, что файл не найден. Помимо этого, если удалить строку, то программа не собирается вовсе.

внешний вид ошибки.
5ff9ee7b26c32471049599.png
cmakelists.txt

<br>
cmake_minimum_required(VERSION 3.17)<br>
project(testCL3)<br>
<br>
set(CMAKE_CXX_STANDARD 20)<br>
set(CMAKE_EXE_LINKER_FLAGS "-static -static-libgcc")<br>
set(SFML_STATIC_LIBRARIES TRUE)<br>
<br>
add_executable(testCL3 main.cpp)<br>
<br>
set(SFML_DIR "C:\\mydata large\\CLion\\lib\\SFML-2.5.1\\lib\\cmake\\SFML")<br>
<br>
target_link_libraries(testCL3 sfml-graphics)<br>
<br>
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake_modules")<br>
find_package(SFML 2.5 REQUIRED graphics network audio window system)
main.cpp
#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;
}


Как можно исправить такое поведение редактора?
  • Вопрос задан
  • 160 просмотров
Решения вопроса 1
@rostik_tsekhmistro
Data Scientist
В CmakeList нужно прописать target_include_directories

target_include_directories(testCL3 PUBLIC ${SFML_INCLUDE_DIRS})

На сборку это не повлияет, но ошибки связанные с импортом должны пропасть
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы