Eclipse:尽管有链接,SDL库仍导致未定义的引用

时间:2019-07-18 10:50:09

标签: c++ eclipse-cdt sdl-2 mingw32

我正在尝试使用MinGW(32位版本)将Eclipse设置为编译器,并包括SDL2库。来自Codeblocks,我已经使它们在我的系统上运行,但是决定切换到Eclipse。提取并链接了相关的库之后,我可以使用SDL2主库中的函数而不会出现错误。但是,其他库会引起问题。

这是我的链接器的设置: linker

包含以下库不会产生编译器错误:

#include <SDL2/SDL.h>
#include <SDL2/SDL_image.h>
#include <SDL2/SDL_ttf.h>

但是,从库中调用函数可以: undefined reference error

c:/mingw/bin/../lib/gcc/mingw32/8.2.0/../../../../mingw32/bin/ld.exe:    C:\eclipse_workspace\sdl_final\Debug/../src/sdl_final.cpp:338: undefined reference to `TTF_Quit'
c:/mingw/bin/../lib/gcc/mingw32/8.2.0/../../../../mingw32/bin/ld.exe: C:\eclipse_workspace\sdl_final\Debug/../src/sdl_final.cpp:339: undefined reference to `IMG_Quit'

所有MinGW文件都位于C:/ MinGW中。 SDL2的头文件(例如SDL_image.h等)和其他库位于C:\ MinGW \ include \ SDL2中。 库文件(libSDL2_image.a等)位于C:\ MinGW \ lib中。

SDL的“ bin”目录中的相应文件以及我已复制到System目录的其他库。 (Win10,SysWOW64)。我还确保我正在使用32位SDL库。

我绝对不知道问题可能在哪里,特别是因为我可以从SDL2标准库调用函数就很好了。有人可以指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

我完成了MinGW,Eclipse和所有上述SDL2库的全新安装-这些步骤之一必须已解决了该问题,尽管我无法指出它必须在哪里。我想最可能的情况是错误地提取了一个64位的库,而该库应该是32位的。