我不确定正确的术语是否为"构建选项"。这是不起作用的代码:
#include <SDL2/SDL.h>
#include <SDL2/SDL2_gfxPrimitives.h>
polygonRGBA(renderer, x, y, 6, 255, 0, 0, 155); // this part
我用它来编译它:
gcc -o test main.c `sdl2-config --cflags --libs̀
polygonRGBA()是SDLGFX的一个函数。我似乎没有添加正确的选项来构建它(除了这部分,SDL2&#39的编译工作)。给定的错误是:
undefined reference to 'polygonRGBA'
添加的正确选项是什么?
答案 0 :(得分:1)
通常,您可以使用pkg-config --list-all
和grep作为要为其添加编译或链接标志的包的名称。但是,即使我在我的(Ubuntu)系统上安装了pkg-config
软件包,我也很惊讶SDLGFX没有-dev
选项。 sdl-config
也不包括它的库(不一定是它)。
因此,请尝试将-lSDL2_gfx
添加到您的调用中,
gcc -o test main.c `sdl2-config --cflags --libs` -lSDL2_gfx
当pkg-config
失败时,您可以通过按名称
$ find /usr/lib | grep gfx
....
/usr/lib/x86_64-linux-gnu/libSDL2_gfx.so
...
并将-l
与lib
和.so
之间的部分一起使用:lib SDL2_gfx .so