SDL2 Экспорт в Linux - PullRequest
       15

SDL2 Экспорт в Linux

0 голосов
/ 23 октября 2018

Я написал свое приложение на MSVC с использованием SDL2, при экспорте его в linux я столкнулся с множеством проблем. Я решил большинство из них, за исключением этого enter image description here

Не знаюне знаешь что делать?У кого-нибудь есть представление о том, что происходит?Компилятор GCC использует стандарты C ++ 14.

Поверхность определяется как:

SDL_Surface* textSurface = TTF_RenderText_Blended(font->getFont(), p_Text.c_str(), { p_Color.r,p_Color.g, p_Color.b, p_Color.a }); 
m_Texture = SDL_CreateTextureFromSurface(ENGINE->getRenderer(), textSurface);

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

Ну, я решил проблему, я устанавливал неправильные библиотеки SDL2: использовал эти:

sudo apt-get install libsdl2-dev
sudo apt-get install libsdl2-image-dev
sudo apt-get install libsdl2-ttf-dev
0 голосов
/ 23 октября 2018

Segmentation fault означает, что вы пытаетесь прочитать (или записать) память, которой вы не владеете.Таким образом, один из указателей в этом фрагменте кода:

surface->map->info.r 

- это плохо.

Проверьте, правильно ли выделено место для структур данных surface и map, а также чтоих пространство не было выделено перед использованием.В противном случае сами указатели могли испортиться.

В Linux есть отличный инструмент для отладки памяти под названием valgrind.Запустите это с вашей программой и обновите ваш вопрос выводом.

...