Форум программистов, компьютерный форум, киберфорум
Кроссплатформенная разработка
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
1 / 1 / 1
Регистрация: 01.12.2015
Сообщений: 88
1

Clion+MinGW+ SDL

07.12.2018, 12:03. Показов 1375. Ответов 2

Пожалуйста помогите исправить.

Файлы с SDL2 закинул в MinGW

Main.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <iostream>
#include <SDL2/SDL.h>
#include <stdio.h>
 
//Screen dimension constants
const int SCREEN_WIDTH = 640;
const int SCREEN_HEIGHT = 480;
int main( int argc, char* args[] )
{
    //The window we'll be rendering to
    SDL_Window* window = NULL;
 
    //The surface contained by the window
    SDL_Surface* screenSurface = NULL;
 
    if( SDL_Init( SDL_INIT_VIDEO ) < 0 )
    {
        printf( "SDL could not initialize! SDL_Error: %s\n", SDL_GetError() );
    }
    else
    {
        //Create window
        window = SDL_CreateWindow( "SDL Tutorial", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN );
        if( window == NULL )
        {
            printf( "Window could not be created! SDL_Error: %s\n", SDL_GetError() );
        }
        else
        {
            //Get window surface
            screenSurface = SDL_GetWindowSurface( window );
 
            //Fill the surface white
            SDL_FillRect( screenSurface, NULL, SDL_MapRGB( screenSurface->format, 0xFF, 0xFF, 0xFF ) );
 
            //Update the surface
            SDL_UpdateWindowSurface( window );
 
            //Wait two seconds
            SDL_Delay( 2000 );
        }
    }
    //Destroy window
    SDL_DestroyWindow( window );
 
    //Quit SDL subsystems
    SDL_Quit();
 
    return 0;
}

CMakeLists.txt


Код
cmake_minimum_required(VERSION 3.12)
project(Pong)

set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)


find_package(SDL2 REQUIRED)

include_directories(${SDL2_INCLUDE_DIR})

set(CMAKE_CXX_STANDARD 17)

add_executable(Pong main.cpp)

target_link_libraries(Pong ${SDL2_LIBRARY} -lmingw32 -lSDL2main -lSDL2 -mwindows)
Ошибка

Код
[ 50%] Linking CXX executable Pong.exe
CMakeFiles\Pong.dir/objects.a(main.cpp.obj): In function `SDL_main':
C:/Users/Ilya/CLionProjects/Pong/main.cpp:16: undefined reference to `SDL_Init'
C:/Users/Ilya/CLionProjects/Pong/main.cpp:18: undefined reference to `SDL_GetError'
C:/Users/Ilya/CLionProjects/Pong/main.cpp:23: undefined reference to `SDL_CreateWindow'
C:/Users/Ilya/CLionProjects/Pong/main.cpp:26: undefined reference to `SDL_GetError'
C:/Users/Ilya/CLionProjects/Pong/main.cpp:31: undefined reference to `SDL_GetWindowSurface'
C:/Users/Ilya/CLionProjects/Pong/main.cpp:34: undefined reference to `SDL_MapRGB'
C:/Users/Ilya/CLionProjects/Pong/main.cpp:34: undefined reference to `SDL_FillRect'
C:/Users/Ilya/CLionProjects/Pong/main.cpp:37: undefined reference to `SDL_UpdateWindowSurface'
C:/Users/Ilya/CLionProjects/Pong/main.cpp:40: undefined reference to `SDL_Delay'
C:/Users/Ilya/CLionProjects/Pong/main.cpp:44: undefined reference to `SDL_DestroyWindow'
C:/Users/Ilya/CLionProjects/Pong/main.cpp:47: undefined reference to `SDL_Quit'
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../libmingw32.a(main.o):(.text.startup+0xa0): undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status
mingw32-make.exe[3]: *** [Pong.exe] Error 1
CMakeFiles\Pong.dir\build.make:87: recipe for target 'Pong.exe' failed
CMakeFiles\Makefile2:71: recipe for target 'CMakeFiles/Pong.dir/all' failed
mingw32-make.exe[2]: *** [CMakeFiles/Pong.dir/all] Error 2
CMakeFiles\Makefile2:83: recipe for target 'CMakeFiles/Pong.dir/rule' failed
mingw32-make.exe[1]: *** [CMakeFiles/Pong.dir/rule] Error 2
mingw32-make.exe: *** [Pong] Error 2
Makefile:117: recipe for target 'Pong' failed
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.12.2018, 12:03
Ответы с готовыми решениями:

Скачал Clion, установил MinGW, пытался настроить, но так и не смог. Clion говорит, что Cmake выдаёт ошибку
Скачал Clion, установил MinGW, пытался настроить, но так и не смог. Clion говорит, что Cmake выдаёт...

Не могу подключить MinGW в CLion, выдаёт ошибку
Есть предположение что это от русских букв в пути, но я не могу никак поменять это. Пробовал я...

Как OpenSSL добавить в линковку CLion (используется cmake и mingw)
Приветствую, друзья. Как добавить OpenSSL в линковку проекта? Я видел FingOpenSSL (cmake), но...

Подключение SDL 2.0 MinGW
Доброго времени суток. Закинул все файлы SDL по своим местам, но при компиляции через командную...

2
1 / 1 / 1
Регистрация: 01.12.2015
Сообщений: 88
09.12.2018, 20:25  [ТС] 2
Вопрос решён!
0
13 / 13 / 0
Регистрация: 14.04.2012
Сообщений: 158
08.03.2019, 17:42 3
Красава, молодец.
А поделиться с кем-нибудь ещё? ведь проблемами ты не забыл поделиться.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.03.2019, 17:42

Не компилируется SDL + OpenGL на Windows в mingw
Здравствуйте. Пишу проект на sdl+opengl. В линуксе всё компилируется нормально, однако, когда я...

[CLion] настройка дебагера на Windows 10. Не работает дебаг с профилем Visual Studio или CMake с профилем MinGW
Сделал скриншоты с настройками. Как это дело настроить? На Mac OS поставил, всё работает из...

Как вывести текст на экран, используя библиотеку SDL TTF для SDL 2?
В официальной доке как-то скомкано написано. При инициализации SDL TTF и при загрузке шрифта...

MinGW, при установке ошибка: unpacking mingw-get-0.6.2-mingw32-beta-20131004-1-bin.tar.xz
Добрый день, форумчане! Недавно начал изучать Си, решил попрактиковаться. В качестве компилятора не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.