Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/149.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Windows和Linux上同时包含SDL2和SDL_映像 我在Linux上开发了C++和SDL2,并且已经使用下面的表单在我的头中包括SDL2: #include <SDL2/SDL.h> #include <SDL2/SDL_image.h>_C++_Sdl 2 - Fatal编程技术网

如何在Windows和Linux上同时包含SDL2和SDL_映像 我在Linux上开发了C++和SDL2,并且已经使用下面的表单在我的头中包括SDL2: #include <SDL2/SDL.h> #include <SDL2/SDL_image.h>

如何在Windows和Linux上同时包含SDL2和SDL_映像 我在Linux上开发了C++和SDL2,并且已经使用下面的表单在我的头中包括SDL2: #include <SDL2/SDL.h> #include <SDL2/SDL_image.h>,c++,sdl-2,C++,Sdl 2,导致一长串错误,从 undefined reference to `IMG_Load' 使用 我知道这两个错误都与SDL_图像有关。唯一有效的办法是 #include <SDL2/SDL.h> #include <SDL2/SDL_image.h> #包括 #包括 编译时使用-lSDL2-lSDL2_映像,但如果可能的话,我宁愿避免这样做,这样我就不必在Linux和Windows上都使用#ifdef进行编译 有人能告诉我哪里出了问题吗?除了上次尝试之外,您都在使用S

导致一长串错误,从

undefined reference to `IMG_Load'
使用

我知道这两个错误都与SDL_图像有关。唯一有效的办法是

#include <SDL2/SDL.h>
#include <SDL2/SDL_image.h>
#包括
#包括
编译时使用-lSDL2-lSDL2_映像,但如果可能的话,我宁愿避免这样做,这样我就不必在Linux和Windows上都使用#ifdef进行编译


有人能告诉我哪里出了问题吗?

除了上次尝试之外,您都在使用SDL 1或将其与SDL 2混合使用。你真的不想那样做。另外,Windows包含部分与Linux包含部分有何不同?我不确定我是否同意你的评估。我没有安装SDL1,SDL位编译良好。SDL2的头文件称为SDL.h,使用#include“SDL.h”引用SDL2是正确的。区别在于它位于SDL2目录中,我在-I/usr/include/SDL2中指定了该目录。SDL#U映像的头文件也在/usr/include/SDL2中,这就是我不确定为什么#include“SDL#U映像”不起作用的原因。Windows的include语句是#include“SDL.h”错误
未定义的对
的引用是缺少到编译器的链接指令的符号。Include目录与此错误没有任何共同之处(除非您使用了错误的标题,这不太可能是您的情况)。首先,您也可以使用第一个Include表单(但第二个是“正式”推荐的,包含路径来自
sdl2 config--cflags
),只需设置正确的包含路径即可。第二,即使你在include路径中使用了SDL1.2并包含了它们,也不应该像你描述的那样,因为这些符号名称是相同的。您能否提供最少的示例,或者至少提供完整的编译和链接行?
#include "SDL.h"
#include <SDL2/SDL_image.h>
undefined reference to symbol 'SDL_FreeSurface'
#include <SDL2/SDL.h>
#include <SDL2/SDL_image.h>