Не выходит подключить 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 После подключения тоже ничего не выйдет
|
|
| |
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 с компьютера не, ниче удалять не надо))) все норм. Я справился))) всем спасибо))
|
|
| |