我只是想学习如何在克利恩( Jetbrains )中使用SDL,我在一篇文章中找到了一个编辑我的CMakeLists.txt的答案,我做到了!!但没起作用。
我可以使用库,但我不能编译它,在图像中,您可以看到输出控制台中的错误。
有人能帮我配置一下吗?
这是我的CMakeLists.txt
cmake_minimum_required(VERSION 3.6)
project(OpenGLTest)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -lmingw32")
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++")
include_directories(${PROJECT_SOURCE_DIR}/include)
link_directories(${PROJECT_SOURCE_DIR}/lib)
set(SOURCE_FILES main.cpp)
add_executable(OpenGLTest ${SOURCE_FILES})
target_link_libraries(OpenGLTest libSDL2main libSDL2 libSDL2_test)这是我的"main.cpp“
#include <iostream>
#include <SDL.h>
int main() {
SDL_Init(SDL_INIT_EVERYTHING);
std::cout << "Hello, World!" << std::endl;
return 0;
}PS:这是我写的代码,只是为了测试编译。
这是Clion控制台中的错误。

发布于 2020-12-05 04:00:02
我有以下配置文件:
cmake_minimum_required(VERSION 3.17)
project(vector_fields_simulations)
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
set(CMAKE_CXX_STANDARD 14)
find_package(SDL2 REQUIRED)
include_directories(.)
include_directories(src)
include_directories(${SDL2_INCLUDE_DIR})
add_executable(vector_fields_simulations src/main.cpp)
target_link_libraries(${PROJECT_NAME} ${SDL2_LIBRARY})我唯一需要做的就是通过 ../SLD2/SDL.h改变 SLD2/SDL.h
注1:我在一个名为cmake的文件夹中使用FindSDL2.cmake (github链接),以便该项目包含SDL,后者不是强制性的,但它可能会对您有所帮助。
注2:如果程序在编译过程中抛出错误,请尝试在#undef main主文件中的main函数之前使用.cpp,或者通过main(int argv, char** args)更改它。
https://stackoverflow.com/questions/42424672
复制相似问题