How to use sdl in Clion

Asked

Viewed 260 times

0

I’m fairly new in c++ , and don’t know how to use sdl in Clion. I’ve tried several ways, it’s like this currently:

Cmakelists:

project(cppsdl)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -lmingw32")
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++")

set(SDL_ROOT "C:/CppLibs/SDL2-2.0.4/i686-w64-mingw32")
include_directories(${SDL_ROOT}/include)
link_directories(${SDL_ROOT}/lib)

set(SOURCE_FILES main.cpp)
add_executable(cppsdl ${SOURCE_FILES})

target_link_libraries(cppsdl SDL2main SDL2)

main.cpp:

#include <iostream>
#include "SDL2/SDL.h"

int main(){
    if (SDL_Init(SDL_INIT_VIDEO) != 0){
        std::cout << "SDL_Init Error: " << SDL_GetError() << std::endl;
        return 1;
    }
    SDL_Quit();
    return 0;
}

Returns the following error:

 C:/CppLibs/SDL2-2.0.4/i686-w64-mingw32/lib/libSDL2main.a(SDL_windows_main.o): In function `main_utf8':
/Users/slouken/release/SDL/SDL2-2.0.4-source/foo-x86/../src/main/windows/SDL_windows_main.c:126: undefined reference to `SDL_main'
/Users/slouken/release/SDL/SDL2-2.0.4-source/foo-x86/../src/main/windows/SDL_windows_main.c:126: undefined reference to `SDL_main'
/Users/slouken/release/SDL/SDL2-2.0.4-source/foo-x86/../src/main/windows/SDL_windows_main.c:126: undefined reference to `SDL_main'
collect2.exe: error: ld returned 1 exit status
mingw32-make.exe[3]: *** [cppsdl.exe] Error 1
CMakeFiles\cppsdl.dir\build.make:87: recipe for target 'cppsdl.exe' failed
CMakeFiles\Makefile2:59: recipe for target 'CMakeFiles/cppsdl.dir/all' failed
mingw32-make.exe[2]: *** [CMakeFiles/cppsdl.dir/all] Error 2
CMakeFiles\Makefile2:71: recipe for target 'CMakeFiles/cppsdl.dir/rule' failed
mingw32-make.exe[1]: *** [CMakeFiles/cppsdl.dir/rule] Error 2
mingw32-make.exe: *** [cppsdl] Error 2
Makefile:108: recipe for target 'cppsdl' failed

1 answer

3


  • thanks for the answer, but I already got it some time ago, and by amazing q it seems I just posted another question about sdl

Browser other questions tagged

You are not signed in. Login or sign up in order to post.