C - SDLGFX 的构建选项
C - Build options for SDLGFX
我不确定 "build options" 是否正确。这是不起作用的代码:
#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 的编译工作)。给定的错误是:
undefined reference to 'polygonRGBA'
添加的正确选项是什么?
通常,您可以使用 pkg-config --list-all
和 grep 作为要为其添加编译或 link 标志的包的名称。但是我有点惊讶地发现 SDLGFX 没有 pkg-config
选项,即使我在我的 (Ubuntu) 系统上安装了 -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
之间的部分一起使用:libSDL2_gfx.so
我不确定 "build options" 是否正确。这是不起作用的代码:
#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 的编译工作)。给定的错误是:
undefined reference to 'polygonRGBA'
添加的正确选项是什么?
通常,您可以使用 pkg-config --list-all
和 grep 作为要为其添加编译或 link 标志的包的名称。但是我有点惊讶地发现 SDLGFX 没有 pkg-config
选项,即使我在我的 (Ubuntu) 系统上安装了 -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
之间的部分一起使用:libSDL2_gfx.so