Установка и ИСПОЛЬЗОВАНИЕ SDL2_gfx — Mac OS X

Я пытался около 6 часов... использовать библиотеку SDL2_gfx в моем проекте на Xcode 8.0.

Сразу скажу, я полный новичок во всем этом, в терминальных командах, включая библиотеки и прочее.

Мне удалось использовать SDL2 в порядке, потому что есть .framework, но SDL2_gfx поставляется только в виде папки с .a, .dylib, .h и таинственным .json.

Я установил его через homebrew без проблем, но теперь, как мне сделать проект с его помощью??

На этапах сборки и настройках сборки: я пытался связать .a и .dylib через «Связать двоичный файл с библиотеками», я добавил пути заголовков в «Пути поиска заголовков» в «Пути поиска», я попытался добавить .h к моему проекту напрямую, и я совершенно не знаю, что добавить в «Другие флаги компоновщика», как это предлагалось во многих ответах.

Я продолжаю получать очень простую ошибку «нет соответствующей функции для вызова ...» всякий раз, когда я пытаюсь использовать функцию. Но я делаю это так же, как в некоторых примерах в Интернете, и я проверил в .h, функции действительно существуют...

Помогите пожалуйста Т_Т

EDIT: мне удалось найти функции, которые явно распознаются:

Sint16 circleR = 100;
Sint16 circleX = 300;
Sint16 circleY = 300;

int result = filledCircleColor(gRenderer, circleX, circleY, circleR, 0xFF0000FF);
        std::cout << "draw circle result " << result << std::endl;

int a = pixelRGBA(gRenderer, circleR, circleR, 0xFF, 0x00, 0x00, 0xFF);
        std::cout << "draw pixel result " << a << std::end;

Но результат -1, что означает, что это не сработало. Все еще не могу понять... Наверное, я неправильно их использую, но могу' не найти другого примера в Интернете.


person Chlac P    schedule 02.10.2016    source источник
comment
Использовали ли вы флаг компоновщика -lSDL_gfx (вместе с остальными флагами SDL)?   -  person Hydren    schedule 08.11.2016


Ответы (1)


я думаю, что вижу вашу проблему: вы вызываете RENDERER в качестве первого параметра. Заголовок функции ожидает SURFACE :

http://www.ferzkopp.net/Software/SDL_gfx-2.0/Docs/html/_s_d_l__gfx_primitives_8h.html#a4f7b717b958ef39bfc8c958476dd0de1

четко определяет функцию как:

SDL_GFXPRIMITIVES_SCOPE int filledCircleColor   (   SDL_Surface *   dst,
Sint16  x,
Sint16  y,
Sint16  rad,
Uint32  color 
)   
person cocoabeginner    schedule 02.10.2016
comment
Спасибо за ответ, но SDL2_gfx изменил поверхность на средство визуализации: ferzkopp. сеть/Программное обеспечение/SDL2_gfx/Документы/html/ - person Chlac P; 03.10.2016