我只是想学习如何在 Clion(Jetbrains IDE)中使用 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控制台的错误
最佳答案
“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 mingw32 SDL2main SDL2)
并且您必须将文件“SDL2.dll”(位于\bin 中)复制到“cmake-build-debug”文件夹中。这是一个例子 https://gyazo.com/fae7ab9ccc73e3a66e9d9c2d3419ff1e
PS:不要忘记“include”和“lib”文件夹
这是一个示例代码,只是为了测试它。
#include <iostream>
#include <SDL.h>
int main(int argc, char* argv []) {
if (SDL_Init(SDL_INIT_EVERYTHING) != 0) {
std::cout << "SDL_Init Error: " << SDL_GetError() << std::endl;
return 1;
}
std::cout << "Hello, World!" << std::endl;
SDL_Quit();
return 0;
}
关于c++ - 如何配置 Clion 以使用 SDL2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42424672/