我正在尝试关注Lazy Foo's教程。但是当我尝试运行他的一个例子时,我得到了这个编译错误:
错误:SDL / SDL_image.h:没有这样的文件或目录
编译器/链接器设置正确,我在Windows XP上使用Code :: Blocks。
然而,问题只是没有SDL_image.h。我已经检查了它应该是的文件夹。我试图再次下载SDL库并再次检查,仍然没有SDL_image.h文件。 SDL_image.h文件在哪里?
我下载的库是来自此链接的'开发库'for Win32下的'SDL-devel-1.2.14-mingw32.tar.gz':http://www.libsdl.org/download-1.2.php
答案 0 :(得分:37)
您需要单独安装SDL_image。它没有附带SDL。
答案 1 :(得分:3)
您需要像其他答案中提到的那样安装SDL_image库,如果您使用的是基于Debian的系统,则可以使用以下命令进行安装:
sudo apt-get install libsdl-image1.2-dev
答案 2 :(得分:2)
完全解释了lazyfoo的第三个教程。
基本上,您必须将“-lSDL_image”添加到编译行。
答案 3 :(得分:1)
在您使用Windows的情况下,您应先安装sdl_image
然后再安装
#include <SDL_image.h>
不是
#include <SDL/SDL_image.h>
如果您使用的是Linux,而sdl-image
软件包已安装到/usr/include/SDL
,那么您需要使用
#include <SDL_image.h>
在大多数情况下,从linux中安装源代码时。您的包裹可能不在/usr/include/SDL
在这种情况下,我使用
#include <SDL/SDL_image.h>
并且有效
答案 4 :(得分:1)
我有同样的问题“错误:SDL / SDL_image.h:没有这样的文件或目录”,我通过这样解决了这个问题:http://wiki.codeblocks.org/index.php?title=Using_SDL_with_Code::Blocks ...看看名为“Project的构建选项”的图片,在我的情况下,在红色圆圈内写东西有帮助。祝好运! (抱歉英语不好):P
答案 5 :(得分:0)
你必须下载 “SDL_image-devel-1.2.4-VC6.zip” 对于代码块 下载链接 ” http://www.libsdl.org/projects/SDL_image/release/SDL_image-devel-1.2.4-VC6.zip
复制提取后在zip文件中找到的include文件夹中的文件。并将其粘贴到我的案例中的C:\ SDL \ include \ SDL或其他人的目录中 SDL * .h存在。
类似,复制zip文件的lib文件夹中的文件并将其粘贴到C:\ SDL \ lib或其他lib文件所在的文件夹中。 然后将存档中存在的所有* .dll文件复制到C:\ windows \ system32 此外,您必须通过打开设置&gt;将“-lSDL_image”添加到编译行。编译器和放大器;调试器&gt;接头
然后打开一个空文件项目并将空文件添加到项目中,然后#include“SDL \ SDL_image.h” 希望它对你有用!!
或
首先从上面给出的链接下载SDL_image-devel-1.2.4-VC6.zip 转到链接&gt;&gt; http://www.lazyfoo.net/SDL_tutorials/lesson03/windows/codeblocks/index.php有更详细的解释。
答案 6 :(得分:0)
对于任何尝试此操作的人来说,更新都是实际添加&#34; -lSDL2_image&#34;到您的编译行。其他人只需要-lSDL_image&#34;在SDL2发布时发生了变化。之后,只需转到bin并将所有.dll文件添加到System32,您应该全部设置好!
答案 7 :(得分:0)
适用于我的(32b)的SDL2 Windows安装程序(C语言):
下载 SDL2_image-devel-2.0.5-mingw.tar.gz 和 SDL2_image-2.0.5-win32-x86 。
复制“ SDL2_image-devel-2.0.5-mingw \ SDL2_image-2.0.5 \ i686-w64-mingw32 \ include \ SDL2 \ SDL_image.h ” ” em>到您的SDL文件夹,其中所有标头都是我的情况“ MinGW \ include \ SDL2 ” 。
将内容从“ SDL2_image-devel-2.0.5-mingw \ SDL2_image-2.0.5 \ i686-w64-mingw32 \ bin ” 复制到< em>“ \ MinGW \ bin ” 。
将以下内容的副本:“ SDL2_image-devel-2.0.5-mingw \ SDL2_image-2.0.5 \ i686-w64-mingw32 \ lib ” “ MinGW \ lib ”
包括这样的标头:
chart.radius = am4core.percent(100);
chart.innerRadius = am4core.percent(80);
chart.paddingTop = 0;
chart.paddingRight = 0;
chart.paddingBottom = 0;
chart.paddingLeft = 0;
将其链接到您的makefile中(请参阅此 '... -llibSDL2_image ...' ):
#include <SDL2/SDL_image.h>
build:
gcc -Wfatal-errors \
-std=c99 \
./*.c \
-I"C:\libsdl\include" \
-L"C:\libsdl\lib" \
-lmingw32 \
-lSDL2main \
-lSDL2 \
-lSDL2 \
-llibSDL2_image \
-o example.exe