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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Дано последовательность чисел b1,.bn . Получить квадратную матрицу порядка n http://www.cyberforum.ru/cpp-beginners/thread1063476.html
Дано последовательность чисел b1,...bn . Получить квадратную матрицу порядка n, элементами которой являются числа b1,...,bn^n. , расположены по схеме:
C++ Задание с массивом Передать массив I(10) в массив J(10) в обратной последовательности. Буду сильно благодарен за помощь. http://www.cyberforum.ru/cpp-beginners/thread1063466.html
C++ Нарисовать фигуру и закрасить ее сканирующей строкой
В компиляторе Borland с++ требуется нарисовать фигуру и закрасить ее сканирующей строкой. Помогите пожалуйста... вот фигура
C++ Увеличить указатель на размер адресуемой им структуры
Увеличить указатель на размер адресуемой им структуры. Буду очень признателен за помощь.
C++ Теория. Символы http://www.cyberforum.ru/cpp-beginners/thread1063444.html
Помогите, пожалуйста, найти теорию, никак не могу разобраться что к чему. Символы. Стандартные кодовые таблицы символов. Приведите известные вам кодировки символов. Привести примеры обработки символов с использованием библиотечных функций на языке C/C++.
C++ Улучшаю задачу из книги) #include<iostream> using namespace std; int main() { enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }; int choice; cout << "Enter a day (0-6): "; подробнее

Показать сообщение отдельно
tdo22
10 / 10 / 1
Регистрация: 14.02.2013
Сообщений: 727
05.01.2014, 14:52     CodeBlocks-13.12mingw + SDL выдает ошибку
Привет, начал освоения 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 нету такой функции.
Документация.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru