Пятница, 29 Марта 2024, 09:05

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » C/C++ » Не выходит подключить SDL (ошибка в файле SDL_platform.h)
Не выходит подключить SDL
kickassДата: Пятница, 26 Сентября 2014, 23:09 | Сообщение # 1
был не раз
Сейчас нет на сайте
Добрый день. В общем....может я тупой или что, но у меня не выходит подключить SDL. CodeBlocks постоянно выдает ошибку в файле SDL_platform.h
Код
=== Build: Debug in SDL2_Setup (compiler: GNU GCC Compiler) ===

fatal error: winapifamily.h: No such file or directory

=== Build fails: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===


На англоязычных сайтах нашел, якобы "решение": скачать исправленный SDL_platform.h и запихнуть его в ...include/SDL2/. Окей, скачал, запихнул, но теперь у меня вышло вдвое....нет, в трое больше ошибок чем было до этого!
Код
||=== Build: Debug in SDL2Game (compiler: GNU GCC Compiler) ===|
C:\Users\Радик\Desktop\SDL2Game\01_hello_SDL.cpp|3|error: conflicting declaration 'char** argc'|
C:\Users\Радик\Desktop\SDL2Game\01_hello_SDL.cpp|3|error: 'argc' has a previous declaration as 'int argc'|
C:\Users\Радик\Desktop\SDL2Game\01_hello_SDL.cpp||In function 'int SDL_main(int)':|
C:\Users\Радик\Desktop\SDL2Game\01_hello_SDL.cpp|8|error: 'SDL_SetVideoMode' was not declared in this scope|
C:\Users\Радик\Desktop\SDL2Game\01_hello_SDL.cpp|10|error: too few arguments to function 'int SDL_UpperBlit(SDL_Surface*, const SDL_Rect*, SDL_Surface*, SDL_Rect*)'|
C:\sdl2\include\SDL2\SDL_surface.h|453|note: declared here|
C:\Users\Радик\Desktop\SDL2Game\01_hello_SDL.cpp|11|error: 'SDL_Flip' was not declared in this scope|
||=== Build failed: 5 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|



Как мне это исправить?

Добавлено (26.09.2014, 23:09)
---------------------------------------------
Забыл добавить:

SDL 2.0.3
CodeBlocks 13.12

Сообщение отредактировал kickass - Пятница, 26 Сентября 2014, 22:57
BogdanSДата: Суббота, 27 Сентября 2014, 02:59 | Сообщение # 2
был не раз
Сейчас нет на сайте
http://www.youtube.com/watch?v=wWGtuc5uqF4

Не знаю поможет ли тебе это видео, но попробуй сделать по нему с:
goldsphereДата: Суббота, 27 Сентября 2014, 06:51 | Сообщение # 3
заслуженный участник
Сейчас нет на сайте
Скинь код, так будет проще, пока могу только сказать, что у тебя что-то с директивами напутанно

FinderX - Android Аркада
RUNGOGET2THECHOPAHДата: Суббота, 27 Сентября 2014, 15:53 | Сообщение # 4
участник
Сейчас нет на сайте
Цитата kickass ()
char** argc, int argc

Цитата kickass ()
too few arguments to function 'int SDL_UpperBlit

Попробуйте читать ошибки вместо того, чтобы считать их.
huanopadroДата: Суббота, 27 Сентября 2014, 17:29 | Сообщение # 5
уже был
Сейчас нет на сайте
Цитата kickass ()
но у меня не выходит подключить SDL

После подключения тоже ничего не выйдет haha
kickassДата: Воскресенье, 28 Сентября 2014, 14:01 | Сообщение # 6
был не раз
Сейчас нет на сайте
Цитата goldsphere ()
Скинь код


Код
#include <SFML/Graphics.hpp>

int main()
{
     sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
     sf::CircleShape shape(100.f);
     shape.setFillColor(sf::Color::Green);

     while (window.isOpen())
     {
         sf::Event event;
         while (window.pollEvent(event))
         {
             if (event.type == sf::Event::Closed)
                 window.close();
         }

         window.clear();
         window.draw(shape);
         window.display();
     }

     return 0;
}

стандартный код, тут ниче не путано, я просто не могу понять, в чем проблема

Цитата RUNGOGET2THECHOPAH ()
Попробуйте читать ошибки вместо того, чтобы считать их.

я не просил критиковать, я просил помочь

huanopadro своей просьбой о помощи, я вроде не давал повода ставить мне минус
Цитата huanopadro ()
huanopadro
goldsphereДата: Воскресенье, 28 Сентября 2014, 14:21 | Сообщение # 7
заслуженный участник
Сейчас нет на сайте
kickass, стоп, так SDL или SFML? Это две разные вещи. В ошибках у тебя фигурирует SDL, а код на SFML.

FinderX - Android Аркада
kickassДата: Среда, 01 Октября 2014, 22:44 | Сообщение # 8
был не раз
Сейчас нет на сайте
Цитата goldsphere ()
стоп, так SDL или SFML? Это две разные вещи. В ошибках у тебя фигурирует SDL, а код на SFML.

а, блин, не то, вот
Код
#include <SDL.h>

int main(int argc, char* argc[])
{
     SDL_Surface* screen = NULL;

     SDL_Init(SDL_INIT_EVERYTHING);
     screen = SDL_SetVideoMode(640,480, 32, SDL_SWSURFACE);

     SDL_BlitSurface( screen, NULL);
     SDL_Flip(screen);
     SDL_Delay(3000);

     SDL_Quit();

     return 0;

}
Snake174Дата: Четверг, 02 Октября 2014, 06:30 | Сообщение # 9
участник
Сейчас нет на сайте
1)
Цитата
C:\Users\Радик\Desktop\SDL2Game\01_hello_SDL.cpp|3|error: conflicting declaration 'char** argc'|
C:\Users\Радик\Desktop\SDL2Game\01_hello_SDL.cpp|3|error: 'argc' has a previous declaration as 'int argc'|


Код
int main(int argc, char* argc[])


Имена переменных одинаковые. Нужно так:
Код
int main(int argc, char* argv[])


2)
Цитата
C:\Users\Радик\Desktop\SDL2Game\01_hello_SDL.cpp|8|error: 'SDL_SetVideoMode' was not declared in this scope|


Код

SDL_Window *screen = SDL_CreateWindow("My Game Window",
                            SDL_WINDOWPOS_UNDEFINED,
                            SDL_WINDOWPOS_UNDEFINED,
                            640, 480,
                            SDL_WINDOW_FULLSCREEN | SDL_WINDOW_OPENGL);


Смотри по остальным ошибкам тут: http://wiki.libsdl.org/MigrationGuide


Не следует обманывать инспектора
Pipmak Assistant
Love2D Exporter
Love2D-Helpers
Old Consoles Games


Сообщение отредактировал Snake174 - Четверг, 02 Октября 2014, 06:31
yavlДата: Четверг, 02 Октября 2014, 10:21 | Сообщение # 10
частый гость
Сейчас нет на сайте
Во-первых сотри Codeblocks с компьютера, т.к ты наверно скачал дистрибутив с включенным gcc. Сотри полностью, codeblocks он большой толстый, медленный и глючный; плюс у тебя папка sdl2 в каком-то странном месте находится, не внутри компилятора, и хедеры sdl с библиотеками наверно в той папке и сидят, а кодблокс даже не знает про эту папку.. Во-вторых смени название пользовательской папки на латиницу (переустанови винду). После всего этого качай notepad++, tdm-gcc и sdl2 к нему. Gcc устанавливаешь в самый корневой корень корня Windows, т.е в C:/GCC, чтобы не было проблем потом с пробелами и русскими буквами в пути. Далее качаешь SDL и устанавливаешь его так: все что в папке include, пихаешь в C:/GCC/gcc-x86-mingwjsjdjs/include, дллки в c:/gcc/gcc-x86mingw388282/lib (или lib32 если винда или сдл 32 битные). И все. Когда собираешь проект в конце приписываешь -lSDL -lopengl32 (dlya opengl), i vse ok. Snosi codeblocks. Piwu s telefona
kickassДата: Пятница, 03 Октября 2014, 21:12 | Сообщение # 11
был не раз
Сейчас нет на сайте
Цитата Snake174 ()
Имена переменных одинаковые. Нужно так:
Код
int main(int argc, char* argv[])

за это спасибо:D

Цитата yavl ()
Во-первых сотри Codeblocks с компьютера

не, ниче удалять не надо))) все норм.
Я справился))) всем спасибо))
Форум игроделов » Программирование » C/C++ » Не выходит подключить SDL (ошибка в файле SDL_platform.h)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг