Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用cmake构建SDL2时,SDL_config.h错误_Cmake_Sdl 2 - Fatal编程技术网

使用cmake构建SDL2时,SDL_config.h错误

使用cmake构建SDL2时,SDL_config.h错误,cmake,sdl-2,Cmake,Sdl 2,我一直在尝试使用CMake将SDL2添加到我的项目中。 我的CMakeLists.txt如下所示 ... include_directories( ${PROJECT_SOURCE_DIR}/src ${PROJECT_SOURCE_DIR}/test ${PROJECT_SOURCE_DIR}/external ${PROJECT_SOURCE_DIR}/external/KHR ${PROJECT_SOURCE_DIR}/external/glm

我一直在尝试使用CMake将SDL2添加到我的项目中。 我的
CMakeLists.txt
如下所示

...

include_directories(
    ${PROJECT_SOURCE_DIR}/src
    ${PROJECT_SOURCE_DIR}/test
    ${PROJECT_SOURCE_DIR}/external
    ${PROJECT_SOURCE_DIR}/external/KHR
    ${PROJECT_SOURCE_DIR}/external/glm
    ${PROJECT_SOURCE_DIR}/external/nvToolsExt
    ${PROJECT_SOURCE_DIR}/external/stb_image
    ${PROJECT_SOURCE_DIR}/external/SDL2/include
    ${PROJECT_SOURCE_DIR}/external/assimp/include
)

# Setup dependencies
link_directories(
    ${PROJECT_SOURCE_DIR}/external/SDL2/lib/x64
    ${PROJECT_SOURCE_DIR}/external/assimp/lib
)

# Glad
add_subdirectory(external/glad)

# ImGui
add_subdirectory(external/imgui)

# Assimp
add_subdirectory(external/assimp ${EXECUTABLE_OUTPUT_PATH}/external/assimp)

# SDL2
add_subdirectory(external/SDL2 ${EXECUTABLE_OUTPUT_PATH}/external/SDL2)

# Setup build
set(TARGET_NAME sre)

set_property(DIRECTORY PROPERTY VS_STARTUP_PROJECT ${TARGET_NAME})

add_executable(${TARGET_NAME} ${SRC_FILES})

set_target_properties(sre PROPERTIES
    VS_DEBUGGER_WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
)

target_link_libraries(
    ${TARGET_NAME}
    opengl32
    SDL2Main
    SDL2
    glad
    imgui
    assimp
)
它正确地生成VS解决方案,但当我构建它时,从SDL2得到以下错误:

external\sdl2\include\sdl_config.h(52): fatal error C1189: #error:  Wrong SDL_config.h, check your include path?

结果,我的构建失败了。我是一个使用cmake的noob,所以欢迎任何形式的建议。

如果您查看此头文件中的代码,则在设置
生成的
编译定义时会触发致命错误。因此,听起来您的设置完成了,您应该使用另一个
sdl_config.h
标题。您是否只是尝试删除
external\sdl2\include\sdl\u config.h
文件?