CLion / CMake может найти SDL в одном проекте, но не в другом - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть два C ++ проекта в SDL, оба используют SDL. По какой-то причине один из этих проектов может найти SDL просто отлично. С другой стороны, я могу написать код, как если бы SDL был найден - с автозаполнением и всем остальным - но когда дело доходит до создания проекта, мне сообщают, что fatal error: 'SDL2/SDL.h' file not found.

Файлы CMakeLists.txt обоих проектов в основном идентичны.

CMakeLists.txt для проекта, который не работает:

cmake_minimum_required(VERSION 3.12)
project(Snake)

set(CMAKE_CXX_STANDARD 11)

include_directories(.)

find_package(SDL2 REQUIRED)

add_executable(${PROJECT_NAME}
    main.cpp
    SnakeBlock.cpp
    SnakeBlock.h
    SnakeGame.cpp
    SnakeGame.h
    SnakeBoard.cpp
    SnakeBoard.h)

target_link_libraries(${PROJECT_NAME} ${SDL2_LIBRARY})

И CMakeLists.txt для проекта, который работает:

cmake_minimum_required(VERSION 3.12)
project(Tetris)

set(CMAKE_CXX_STANDARD 11)

include_directories(.)

find_package(SDL2 REQUIRED)

add_executable(${PROJECT_NAME}
    Game.cpp
    Game.hpp
    main.cpp
    Playfield.cpp
    Playfield.hpp
    Tetromino.cpp
    Tetromino.hpp)

target_link_libraries(${PROJECT_NAME} ${SDL2_LIBRARY})

И для обоих проектов SDL2 отображается в разделе «Внешние библиотеки» на правой боковой панели в разделе «Пути поиска по заголовкам».

Что дает?

...