SDL2_image 未找到
SDL2_image not found
我正在尝试编译以下具有 headers:
的代码
#include <SDL2/SDL.h>
#include <SDL2_image/SDL_image.h>
但是在 运行 下面的 makefile 之后:
g++ -std=c++11 src/main.cpp -lSDL2 -lSDL2_image
我收到以下错误:
fatal error: SDL2_image/SDL_image.h: No such file or directory
#include <SDL2_image/SDL_image.h>
有什么建议吗?不完全确定我安装的 SDL_image。我是 运行 这个 Ubuntu。
运行 apt-file search SDL_image.h
结果将告诉您包含文件的位置。
例如返回/usr/include/SDL2/SDL_image.h
。
所以,当你想包含 SDL_image.h
时,将 include/
之后的所有内容都写在 <
>
.
之间
因此,包含应如下所示:
#include <SDL2/SDL.h>
#include <SDL2/SDL_image.h>
有关此解决方案的原始讨论,请参阅问题的评论。
这个问题可以通过安装libsdl2-image-dev
包来解决:
apt install libsdl2-image-dev
对于 Windows + SDL2-2.0.8 + SDL_image-2.0.4 + Codeblocks
,您已将 Runtime Binaries
和 Development Libraries
添加到编译器和链接器。否则,您将收到错误 SDL2_image not found
,即使您的程序目录中有 dll
,也会发生这种情况。希望其他人觉得这有帮助;我必须自己弄清楚。示例:如果您的资源是分开的,您将添加两个加上您的标准 SDL2
路径到您的编译器和链接器。警告:SDL2_image.h 有它的 headers 假设 headers 与 SDL2 框架位于同一文件夹中。如果你得到关于图像 header 的错误,请在路径中包含来自 SDL 框架的 sub-folder SDL2
然后你应该在程序中包含 SDL2
作为:include <SDL.h>
而不是 include <SDL2/SDL.h>
.
从 SDL 文档中,它说将 'lSDL_image' 添加到编译行的末尾。
cc -o myprogram mysource.o `sdl-config --libs` -lSDL_image
或
gcc -o myprogram mysource.c `sdl-config --libs` -lSDL_image
这里是参考 -> https://www.libsdl.org/projects/docs/SDL_image/SDL_image.html
2.2 节编译。
所以对于SDL2,你只需要将'lSDL_image'改为'lSDL2_image'即可。
我正在尝试编译以下具有 headers:
的代码#include <SDL2/SDL.h>
#include <SDL2_image/SDL_image.h>
但是在 运行 下面的 makefile 之后:
g++ -std=c++11 src/main.cpp -lSDL2 -lSDL2_image
我收到以下错误:
fatal error: SDL2_image/SDL_image.h: No such file or directory
#include <SDL2_image/SDL_image.h>
有什么建议吗?不完全确定我安装的 SDL_image。我是 运行 这个 Ubuntu。
运行 apt-file search SDL_image.h
结果将告诉您包含文件的位置。
例如返回/usr/include/SDL2/SDL_image.h
。
所以,当你想包含 SDL_image.h
时,将 include/
之后的所有内容都写在 <
>
.
因此,包含应如下所示:
#include <SDL2/SDL.h>
#include <SDL2/SDL_image.h>
有关此解决方案的原始讨论,请参阅问题的评论。
这个问题可以通过安装libsdl2-image-dev
包来解决:
apt install libsdl2-image-dev
对于 Windows + SDL2-2.0.8 + SDL_image-2.0.4 + Codeblocks
,您已将 Runtime Binaries
和 Development Libraries
添加到编译器和链接器。否则,您将收到错误 SDL2_image not found
,即使您的程序目录中有 dll
,也会发生这种情况。希望其他人觉得这有帮助;我必须自己弄清楚。示例:如果您的资源是分开的,您将添加两个加上您的标准 SDL2
路径到您的编译器和链接器。警告:SDL2_image.h 有它的 headers 假设 headers 与 SDL2 框架位于同一文件夹中。如果你得到关于图像 header 的错误,请在路径中包含来自 SDL 框架的 sub-folder SDL2
然后你应该在程序中包含 SDL2
作为:include <SDL.h>
而不是 include <SDL2/SDL.h>
.
从 SDL 文档中,它说将 'lSDL_image' 添加到编译行的末尾。
cc -o myprogram mysource.o `sdl-config --libs` -lSDL_image
或
gcc -o myprogram mysource.c `sdl-config --libs` -lSDL_image
这里是参考 -> https://www.libsdl.org/projects/docs/SDL_image/SDL_image.html 2.2 节编译。
所以对于SDL2,你只需要将'lSDL_image'改为'lSDL2_image'即可。