in vec3 Vertex; in vec2 TexCoord; in vec4 Weights; in vec4 Bones; in vec4 Weights2; in vec4 Bones2; uniform mat4 bind_shape_matrix; uniform mat4 joints_matrices[100]; uniform mat4 joints_inv_matrices[100]; uniform mat4 worldMatrix;
Заменил int main() на int main(int argc, char *argv[]) и заработало.
Спасибо за помощь. Теперь попробую собрать Буст.
Добавлено (18 августа 2015, 15:48) --------------------------------------------- Собираю по этой статье http://knzsoft.blogspot.ru/2013/07/boost-windows-mingw.html
Остановился на этом
Теперь необходимо выполнить сборку специального инструмента bjam, который и будет управлять компиляций библиотеки boost под указанный компилятор. Чтобы собрать bjam под MinGW необходимо выполнить в директории C:/boost_1_52_0/ следующую команду.
> bootstrap.bat gcc
Результат выполнения http://ipic.su/img/img7/fs/aaa.1439901965.jpg
Спасибо за тутор, оказалось что я не те либы и инклуды закинул, ещё оказалось что в проекты Windows нужно подключать libmingw32.a. Но вот теперь другая проблема возникла
Код
||=== Build: Debug in glsl_sdl_project69 (compiler: GNU GCC Compiler) ===| C:\Program Files\CodeBlocks\MinGW\lib\libSDL2main.a(SDL_windows_main.o):SDL_windows_main.c|| undefined reference to `SDL_main'| ||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
Создал игрушку на 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
Код
#include "SDL2/SDL.h"
int main() { if(SDL_Init(SDL_INIT_VIDEO) < 0) { return false; }
||=== Build: Debug in glsl_sdl_project69 (compiler: GNU GCC Compiler) ===| obj\Debug\main.o||In function `Z8SDL_mainv':| D:\server\glsl_sdl_project69\main.cpp|5|undefined reference to `SDL_Init'| D:\server\glsl_sdl_project69\main.cpp|14|undefined reference to `SDL_CreateWindow'| D:\server\glsl_sdl_project69\main.cpp|19|undefined reference to `SDL_Delay'| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\libmingw32.a(main.o):main.c:(.text.startup+0xa7)||undefined reference to `WinMain@16'| ||=== Build failed: 4 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
Если не ошибаюсь, что-то не то с либами, но я ведь их подключил. Или нужно ещё что-то подключить? Тяжко как-то с Виндовз работать=(
Кроме SDL, мне нужно ещё к проекту своему подключить OpenSSL и Boost. Их вроде бы собирать как-то нужно. Сперва надо с SDL разобраться, а потом к ним перейду.
Посоветуйте пожалуйста, как на Windows в CodeBlocks заставить работать SDL2?
Добавлено (18 августа 2015, 12:20) --------------------------------------------- Кстати файл SDL2.dll закинул в папку system32. Редактировать предыдущее сообщение не смог, на Windows по ходу доисторический браузер у меня стоит.
Если не найдётся какого-либо SDL способа, то в отдельный поток запихаю. Спасибо за совет.
Добавлено (22.04.2014, 20:57) --------------------------------------------- В Линукс для сервера я использовал pthread-потоки, а в Виндовс pthread будет работать или мне что-то другое (кроссплатформенное) искать? Я что-то никак не могу найти информацию.
Добавлено (23.04.2014, 05:41) --------------------------------------------- Оказывается в SDL существует SDL_thread.
Есть сервер и клиент. Сервер на Linux epoll, а клиент на SDL (SDLNet для сокетов), так как нужна кроссплатформенность. Авторизацию я реализовал без проблем, но далее возникли проблемы.
SDLNet_TCP_Recv - в данном случае не работает, программа зависает в ожидании данных от сервера и приходится перезагружать комп. То есть SDLNet_TCP_Recv блокирует программу.
Мне нужно чтобы что-то вроде SDLNet_TCP_Recv висело в главном цикле и запускалось только если придут данные от сервера, не останавливая работу программы. Средства SDL позволяют это сделать?
Спасибо за внимание.
Сообщение отредактировал gunsoy - Вторник, 22 Апреля 2014, 19:53