C++ SDL2_Gfx-cygwin的链接器问题

C++ SDL2_Gfx-cygwin的链接器问题,c++,gcc,cygwin,sdl,C++,Gcc,Cygwin,Sdl,我正在努力用cygwin编译SDL_Gfx。 配置脚本正常工作 下面是最后一个makefile命令: /bin/sh ./libtool --tag=CC --mode=link gcc -g -O2 -I/usr/local/include/SDL2 -Dmain=SDL_main -no-undefined -release 1.0 -version-info 0:1:0 -o libSDL2_gfx.la -rpath /usr/local/lib SDL2_framerate.l

我正在努力用cygwin编译SDL_Gfx。 配置脚本正常工作

下面是最后一个makefile命令:

/bin/sh ./libtool --tag=CC   --mode=link gcc  -g -O2 -I/usr/local/include/SDL2 -Dmain=SDL_main -no-undefined -release 1.0 -version-info 0:1:0  -o libSDL2_gfx.la -rpath /usr/local/lib SDL2_framerate.lo SDL2_gfxPrimitives.lo SDL2_imageFilter.lo SDL2_rotozoom.lo  -L/usr/lib -lcygwin -lSDL2main -lSDL2
libtool: link: warning: library `/usr/lib/libSDL2.la' was moved.
这是链接器的“警告”消息

如果我试图忽略这一点,那么当我尝试在应用程序中使用库时,会出现以下错误:

In function `pixel':
/usr/local/lib/SDL2_gfx-1.0.1/SDL2_gfxPrimitives.c:75: undefined reference  to `SDL_RenderDrawPoint'
/usr/local/lib/SDL2_gfx-1.0.1/SDL2_gfxPrimitives.c:75:(.text+0x11): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `SDL_RenderDrawPoint'
更新:我尝试将编译器切换为使用mingw64而不是cywin。我有一个类似的问题,我认为这与libtool有关,因为我可以编译具有类似c/l标志的外部程序,而不会出现问题

我不知道我能尝试什么我没有主意了,请帮忙。
感谢您

在哪个库中定义了SDL_RenderDrawPoint?/lib/libSDL2main.a是静态的而不是共享的,因此您有libtool警告。您需要先检查它为什么不是作为共享生成的。第二个错误可能是第一个错误的后续错误。你安装了libSDL2-devel软件包吗?还是你自己构建的?@matzeri我下载了mingw64的SDL2-devel软件包,但不是我自己构建的。同时,为了解决这个问题,我还找到了一个针对SDL_gfx的包,该包是为mingw64预编译的。我之所以使用它,是因为我一直在努力从源代码构建它。如果你混合了cygwin和mingw64二进制文件,我毫不怀疑你在努力
In function `pixel':
/usr/local/lib/SDL2_gfx-1.0.1/SDL2_gfxPrimitives.c:75: undefined reference  to `SDL_RenderDrawPoint'
/usr/local/lib/SDL2_gfx-1.0.1/SDL2_gfxPrimitives.c:75:(.text+0x11): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `SDL_RenderDrawPoint'