Среда, 27 Ноября 2024, 02:19

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Windows CodeBlocks не компилирует SDL2
gunsoyДата: Вторник, 18 Августа 2015, 12:20 | Сообщение # 1
был не раз
Сейчас нет на сайте
Здравствуйте.

Создал игрушку на SDL2+OpenGL, на Убунту. Теперь хочу протестировать её на Windows. Скачал я от сюда http://libsdl.org/download-2.0.php вот это SDL2-devel-2.0.3-mingw.tar.gz (MinGW 32/64-bit) , распокавал, скопировал папки include и lib и закинул их в свой CodeBlocks в папку MinGW.

Написал мелкую программку для проверки, либы тоже подключил http://ipic.su/img/img7/fs/bbb.1439888728.jpg



А она не компилируется. Выводит


Если не ошибаюсь, что-то не то с либами, но я ведь их подключил. Или нужно ещё что-то подключить? Тяжко как-то с Виндовз работать=(

Кроме SDL, мне нужно ещё к проекту своему подключить OpenSSL и Boost. Их вроде бы собирать как-то нужно. Сперва надо с SDL разобраться, а потом к ним перейду.

Посоветуйте пожалуйста, как на Windows в CodeBlocks заставить работать SDL2?

Добавлено (18 августа 2015, 12:20)
---------------------------------------------
Кстати файл SDL2.dll закинул в папку system32. Редактировать предыдущее сообщение не смог, на Windows по ходу доисторический браузер у меня стоит.

FumleadДата: Вторник, 18 Августа 2015, 12:55 | Сообщение # 2
участник
Сейчас нет на сайте
Вот тебе туториал. Подключай по нему, не ошибешься. С Boost у меня лично проблем никаких не было - статьи по подключению в инете есть. С OpenSSL не работал, не знаю.

Параноик с гениальным планом по захвату мира.
--antonyvolkoff--Дата: Вторник, 18 Августа 2015, 12:58 | Сообщение # 3
был не раз
Сейчас нет на сайте
Похоже все-таки то, что ты не подключил библиотеки, так как не может найти ссылки на SDL_Init, SDL_CreateWindiw и SDL_Delay.
Кроме того, что-то не так настроено, нет ссылки на функцию WinMain.
Покажи какие параметры передаются компилятору.
gunsoyДата: Вторник, 18 Августа 2015, 13:37 | Сообщение # 4
был не раз
Сейчас нет на сайте
Спасибо за тутор, оказалось что я не те либы и инклуды закинул, ещё оказалось что в проекты Windows нужно подключать libmingw32.a. Но вот теперь другая проблема возникла



А это что значит?
SaiteiДата: Вторник, 18 Августа 2015, 13:45 | Сообщение # 5
старожил
Сейчас нет на сайте
Цитата gunsoy ()
C:\Program Files\CodeBlocks\MinGW\lib\libSDL2main.a(SDL_windows_main.o):SDL_windows_main.c|| undefined reference to `SDL_main'|

Перед main напиши #undef SDL_main
gunsoyДата: Вторник, 18 Августа 2015, 13:55 | Сообщение # 6
был не раз
Сейчас нет на сайте
Поставил, но ошибка всё та же.

--antonyvolkoff--Дата: Вторник, 18 Августа 2015, 14:37 | Сообщение # 7
был не раз
Сейчас нет на сайте
Вместо main() напиши SDL_Main()
Либо не подключай libSDL2main
Или как он там называется smile


Сообщение отредактировал --antonyvolkoff-- - Вторник, 18 Августа 2015, 14:38
SaiteiДата: Вторник, 18 Августа 2015, 14:46 | Сообщение # 8
старожил
Сейчас нет на сайте
Цитата gunsoy ()
#include "SDL2/SDL.h"

#undef SDL_main

int main()

Цитата
Miscellaneous

I get "Undefined reference to 'SDL_main'" ...

Make sure that you are declaring main() as:

#include "SDL.h"

int main(int argc, char *argv[])

You should be using main() instead of WinMain() even though you are creating a Windows application, because SDL provides a version of WinMain() which performs some SDL initialization before calling your main code. If for some reason you need to use WinMain(), take a look at the SDL source code in src/main/win32/SDL_main.c to see what kind of initialization you need to do in your WinMain() function so that SDL works properly.
gunsoyДата: Вторник, 18 Августа 2015, 15:48 | Сообщение # 9
был не раз
Сейчас нет на сайте
Заменил
int main()
на
int main(int argc, char *argv[])
и заработало.

Спасибо за помощь. Теперь попробую собрать Буст.

Добавлено (18 августа 2015, 15:48)
---------------------------------------------
Собираю по этой статье http://knzsoft.blogspot.ru/2013/07/boost-windows-mingw.html

Остановился на этом



Результат выполнения
http://ipic.su/img/img7/fs/aaa.1439901965.jpg

Опять у меня проблемы=(
SaiteiДата: Четверг, 20 Августа 2015, 20:55 | Сообщение # 10
старожил
Сейчас нет на сайте
Цитата Saitei ()
Перед main напиши #undef SDL_main

Хоть уже проблема и решена, но поправка: #undef main.
SDL просто пытается передефайнить main smile
  • Страница 1 из 1
  • 1
Поиск:

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