我在SDL中有两个C ++项目,都使用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都显示在右侧栏“标题搜索路径”下的“外部库”部分下。
有什么作用?