0

我已经尝试了大约 6 个小时......在我的Xcode 8.0项目中使用 SDL2_gfx 库。

我现在就告诉你,我是所有这些终端命令的新手,包括库和其他东西。

我已经设法很好地使用了 SDL2,因为有一个 .framework,但 SDL2_gfx 仅作为一个包含 .a、.dylib、.h 和一个神秘 .json 的文件夹出现。

我已经通过自制软件安装了它,没有任何问题,但是现在,我如何使用它制作项目?

在 Build Phases 和 Build Settings 中:我尝试通过“Link Binary With Libraries”链接 .a 和 .dylib,我在“Search Paths”的“Headers Search Paths”中添加了标题路径,我尝试添加.h 直接到我的项目,我完全不知道在“其他链接器标志”中放入什么,因为它在许多答案中都建议。

每当我尝试使用函数时,我都会收到非常简单的错误“调用没有匹配的函数......”。但是我这样做的方式与互联网上的一些示例相同,并且我检查了 .h,这些功能确实存在......

请帮忙T_T

编辑:我设法找到了明显公认的功能:

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,这意味着它不起作用。 仍然无法弄清楚......我想我没有正确使用它们,但我在互联网上找不到任何不同的例子。

4

1 回答 1

0

我想我看到了您的问题:您使用 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 
)   
于 2016-10-02T20:52:46.540 回答