MinGW "undefined reference to IMG_Load/IMG_Init/IMG_Quit" LazyFoo
MinGW "undefined reference to IMG_Load/IMG_Init/IMG_Quit" LazyFoo
我将使用 MinGW g++ 编译器(使用控制台)完成 LazyFoo 的 C++ SDL2 教程。我关注了他的页面 here、step-for-step。下载他的例子后,我终于遇到了这个错误。
我在网上看到很多人都在与 SDL_Image 作斗争,但我还没有看到这个,我还没有找到任何解决方案。
- 我已经用正确的资源加载了 include 和 lib 文件夹
- 我已将所有必需的 .dll 复制到我的编译目标
- LazyFoo 提供的示例包括 SDL_Image 和 SDL 本身
(这个问题听起来很多余,但我还没有找到适用于 console-compilation 的解决方案)
根据以上评论,答案似乎是:
您需要为 SDL_image 安装开发库。
您可以在这里下载它们:https://www.libsdl.org/projects/SDL_image/
(查看标题 "Development libraries" 下)。
您需要确保 libSDL2_image.a
文件所在的路径在 linker 搜索路径中。一种方法是向 link 命令添加适当的 -L
参数。您也可以将文件拖放到默认库搜索路径中。
我遇到了同样的问题,解决方案是在链接器参数中包含 SDL2main 库。
对于 Dev-C++ IDE,您可以按照以下说明操作:
Get SDL or SDL2 working correctly with Dev-C++
我在 linux 遇到过这个问题。解决方案很简单。
添加到链接器:
-lSDL2_image -g `sdl2-config --cflags --libs`
我将使用 MinGW g++ 编译器(使用控制台)完成 LazyFoo 的 C++ SDL2 教程。我关注了他的页面 here、step-for-step。下载他的例子后,我终于遇到了这个错误。
我在网上看到很多人都在与 SDL_Image 作斗争,但我还没有看到这个,我还没有找到任何解决方案。
- 我已经用正确的资源加载了 include 和 lib 文件夹
- 我已将所有必需的 .dll 复制到我的编译目标
- LazyFoo 提供的示例包括 SDL_Image 和 SDL 本身
(这个问题听起来很多余,但我还没有找到适用于 console-compilation 的解决方案)
根据以上评论,答案似乎是:
您需要为 SDL_image 安装开发库。
您可以在这里下载它们:https://www.libsdl.org/projects/SDL_image/ (查看标题 "Development libraries" 下)。
您需要确保 libSDL2_image.a
文件所在的路径在 linker 搜索路径中。一种方法是向 link 命令添加适当的 -L
参数。您也可以将文件拖放到默认库搜索路径中。
我遇到了同样的问题,解决方案是在链接器参数中包含 SDL2main 库。
对于 Dev-C++ IDE,您可以按照以下说明操作:
Get SDL or SDL2 working correctly with Dev-C++
我在 linux 遇到过这个问题。解决方案很简单。 添加到链接器:
-lSDL2_image -g `sdl2-config --cflags --libs`