编译终端中的SDL2错误(对于如何包含SDL2库感到困惑)

时间:2015-12-23 03:54:57

标签: c++ sdl-2

我现在正在学习SDL2,而且我在XCode中工作的大部分时间都是我的代码。但是,我想在终端中运行我的程序以使用valgrind,但每当我尝试时,我都会收到此错误:

fatal error: 'SDL2/SDL.h' file not found

我以一种非常简单的方式编译如下:

g++ Camera.cpp LTexture.cpp LTimer.cpp LWindow.cpp Player.cpp Tile.cpp TileMap.cpp main.cpp -o main

我知道我应该以某种方式包括SDL2库,但我不确定如何做到这一点。现在,框架位于文件夹/Library/Frameworks/SDL2.framework

对此的任何帮助将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:0)

添加

-I/Library/Frameworks/SDL2.frameworks/Headers 

到你的g ++命令并更改

'SDL2/SDL.h'

包括

'SDL.h'
标题/(s)中的

,因为/Library/Frameworks/SDL2.frameworks/Headers不包含SDL2文件夹(通常)

现在您已将#include "SDL2/SDL.h"更改为#include "SDL.h"您要打开Xcode项目,选择目标,转到构建设置并将/Library/Frameworks/SDL2.frameworks/Headers添加到Header Search Paths为了修复Xcode的'找不到'SDL.h''错误信息。

更新

另一种方法是将(使用ln)/Library/Frameworks/SDL2.frameworks/Headers链接到/usr/local/include/SDL2,将-I/usr/local/include/SDL2添加到g ++命令 并保持#include不变('SDL2/SDL.h'