我正在使用SDL(v1.2.15-7)和CMake(3.2.1)开发项目。在* .h文件中我添加了#include <SDL.h>
,当我编译它时,我有一堆错误:未定义的SDL参考_...使用CMake未定义的SDL引用
我认为错误来自CMakeLists.txt,但我确实没有知道在哪里。
这里的文件内容:
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
SET(PROJ_NAME "Project")
SET(PROJ_PATH ${CMAKE_SOURCE_DIR})
SET(PROJ_OUT_PATH ${CMAKE_BINARY_DIR})
SET(PROJ_INCLUDES "include")
FILE(GLOB_RECURSE PROJ_SOURCES src/*cpp test/*cpp doc/*)
FILE(GLOB_RECURSE PROJ_HEADERS ${PROJ_INCLUDES}/${PROJ_NAME}/*.h)
PROJECT(${PROJ_NAME})
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
FIND_PACKAGE(SDL REQUIRED)
SET(PROJ_LIBRARIES ${SDL_LIBS})
INCLUDE_DIRECTORIES(${PROJ_INCLUDES} ${SDL_INCLUDE_DIR})
ADD_EXECUTABLE(${PROJ_NAME} ${PROJ_SOURCES} ${PROJ_HEADERS})
TARGET_LINK_LIBRARIES(${PROJ_NAME} ${PROJ_LIBRARIES})
我也试过#include SDL/SDL.h
您不需要添加所有标题。通常它们与您的目标相关,并且会自动找到。 – usr1234567 2015-04-02 14:32:54