У меня есть два 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 отображается в разделе «Внешние библиотеки» на правой боковой панели в разделе «Пути поиска по заголовкам».
Что дает?