如何在Windows和Linux上包含SDL2和SDL_image

时间:2016-05-22 18:20:08

标签: c++ sdl-2

我一直在Linux上使用C ++和SDL2进行开发,并且一直使用以下表单在我的标题中包含SDL2:

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

但是,我现在也需要在Windows上开发,它具有不同的包含声明。我已尽力阅读并使用 #include“SDL.h”成功包含SDL并将 -I / usr / include / SDL2 传递给我makefile文件。这适用于SDL,但似乎打破了SDL_image。

使用:

#include "SDL.h"
#include "SDL_image.h"

导致以

开头的长错误列表
undefined reference to `IMG_Load'

使用

#include "SDL.h"
#include <SDL2/SDL_image.h>
带有 -lSDL2_image 标志的

导致

undefined reference to symbol 'SDL_FreeSurface'

我知道这两个错误都与SDL_image有关。唯一似乎有用的是

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

在编译时使用 -lSDL2 -lSDL2_image ,但是如果可能的话我宁愿避免这样做,这样我就不必在Linux和Windows上使用#ifdef进行编译。

任何人都可以指出我在哪里出错了吗?

0 个答案:

没有答案