Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
tdo22
10 / 10 / 1
Регистрация: 14.02.2013
Сообщений: 728
#1

CodeBlocks-13.12mingw + SDL выдает ошибку - C++

05.01.2014, 14:52. Просмотров 858. Ответов 0
Метки нет (Все метки)

Привет, начал освоения SDL библиотеки.
Уроки читаю здесь.
По урокам версия КодеБлокс и СДЛ отличается (они там более старые).
Я скачал библиотеку на офф сайте, SDL2-devel-2.0.1-mingw.tar.gz. Установил, пустой проект запускает без ошибок.
Сейчас по уроку нужно в файл CApp_OnInit.cpp записать такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
bool CApp::OnInit()
    {
        if(SDL_Init(SDL_INIT_EVERYTHING) < 0)
            {
                return false;
            }
        if((Surf_Display = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE | SDL_DOUBLEBUF)) == NULL)
            {
                return false;
            }
        return true;
    }
но при компиляции выдает ошибку:
Код
||=== Build: Debug in Game (compiler: GNU GCC Compiler) ===|
D:\Proga\Game\GameCore\Game\CApp_OnInit.cpp||In member function 'bool CApp::OnInit()':|
D:\Proga\Game\GameCore\Game\CApp_OnInit.cpp|9|error: 'SDL_HWSURFACE' was not declared in this scope|
D:\Proga\Game\GameCore\Game\CApp_OnInit.cpp|9|error: 'SDL_DOUBLEBUF' was not declared in this scope|
D:\Proga\Game\GameCore\Game\CApp_OnInit.cpp|9|error: 'SDL_SetVideoMode' was not declared in this scope|
||=== Build failed: 3 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===|
Такое ощущения что в Linker Settings я вписал что-то не то.
mingw32;SDL2main;SDL2;

В архиве SDL2-devel-2.0.1-mingw.tar.gz есть две папки:i686-w64-mingw32 и x86_64-w64-mingw32
Я взял x86_64-w64-mingw32 и ее содержания закинул в C:\Program Files (x86)\CodeBlocks\MinGW\
Также в архиве был Makefile, но я с ним ничего не делал, может чтоб нормально работала библиотека
его нужно установить ?
Makefile:
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
#
# Makefile for installing the mingw32 version of the SDL library
 
CROSS_PATH := /usr/local/cross-tools
ARCHITECTURES := i686-w64-mingw32 x86_64-w64-mingw32
 
all install:
    @echo "Type \"make native\" to install 32-bit to /usr"
    @echo "Type \"make cross\" to install 32-bit and 64-bit to $(CROSS_PATH)"
 
native:
    make install-package arch=i686-w64-mingw32 prefix=/usr
 
cross:
    for arch in $(ARCHITECTURES); do \
        make install-package arch=$$arch prefix=$(CROSS_PATH)/$$arch; \
    done
 
install-package:
    @if test -d $(arch) && test -d $(prefix); then \
        (cd $(arch) && cp -rv bin include lib share $(prefix)/); \
        sed "s|^prefix=.*|prefix=$(prefix)|" <$(arch)/bin/sdl2-config >$(prefix)/bin/sdl2-config; \
        chmod 755 $(prefix)/bin/sdl2-config; \
        sed "s|^libdir=.*|libdir=\'$(prefix)/lib\'|" <$(arch)/lib/libSDL2.la >$(prefix)/lib/libSDL2.la; \
        sed "s|^prefix=.*|prefix=$(prefix)|" <$(arch)/lib/pkgconfig/sdl2.pc >$(prefix)/lib/pkgconfig/sdl2.pc; \
    else \
        echo "*** ERROR: $(arch) or $(prefix) does not exist!"; \
        exit 1; \
    fi
Добавлено через 7 минут
Не так написал:
Функции SDL_SetVideoMode вообще нету, ее не видит наверно сам БлокКоде из за неправильной линковки
Может такое быть ?

Добавлено через 29 минут
Все, разобрался.
Проблема была в том, что в версии 2.0 нету такой функции.
Документация.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2014, 14:52     CodeBlocks-13.12mingw + SDL выдает ошибку
Посмотрите здесь:

выдает ошибку C++
C++ С++ выдает ошибку
выдает ошибку( C++
SDL - помогите найти ошибку в коде C++
Выдает ошибку C++
Как вывести текст на экран, используя библиотеку SDL TTF для SDL 2? C++
Выдает ошибку C++
Process returned -107. в среде codeblocks как расшифровать ошибку? C++
C++ Выдает ошибку
C++ Выдает ошибку
C++ CodeBlocks выдает непонятные ошибки при компиляции
Выдает ошибку C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 09:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru