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

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

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

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

05.01.2014, 14:52. Просмотров 903. Ответов 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++):

CodeBlocks выдает непонятные ошибки при компиляции - C++
Подскажите как решить эту проблему?? ||=== Build file: &quot;no target&quot; in &quot;no project&quot; (compiler: unknown) ===| ||Warning: .drectve...

SDL - помогите найти ошибку в коде - C++
Ребят, начал изучать SDL. Такая параша #include &lt;SDL.h&gt; int main () { SDL_Init (SDL_INIT_VIDEO | |SDL_INIT_VIDEO); if (...

Process returned -107. в среде codeblocks как расшифровать ошибку? - C++
Помогите понять какую ошибку выдает? стандарт c99, при уменьшении dz до 0.001 работает но метод расчета предполагает большую точность ...

Подскажите как исправить ошибку. прога ломается на 79 строке. а ошибку не выдает - C++
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace std; int chisla(int a,int b) { ...

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

Найти ошибку в программе: в visual studio выдает ошибку - C++
#include &lt;math.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; int main() { double x, E, ypred, y, S; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2014, 14:52
Привет! Вот еще темы с ответами:

Ребят Незнаю что делать при запуске на компилирование выдает ошибку.Кто понимает что не так скажите а если не затруднит исправьте ошибку - C++
Разговаривал с двумя преподами говорят что проект не правильно создавал,хотя все правильно из группы спрашивал у парней говорят что не...

С++ выдает ошибку - C++
Доброе утро! Подскажите пожалуйста, на что может ругаться компилятор? Выдет ошибку: error: no match for 'operator&lt;&lt;' in...

Выдает ошибку - C++
Ругается на ПЕРЕМЕННУЮ I в цикле. В куске кода for (auto i = words.rbegin(); i != words.rend(); i++) { fout &lt;&lt; *i...

выдает ошибку - C++
сравнить 3 параллелограмма в чем ошибка # include &lt;iostream&gt; # include &lt;string&gt; using namespace std; class Parallelogram {...


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

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

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