在终端中编译SDL2错误(对如何包含SDL2库感到困惑)
Compiling SDL2 Error in Terminal (Confused about how to include SDL2 library)
我现在正在学习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 中
如有任何帮助,我们将不胜感激。提前谢谢。
添加
-I/Library/Frameworks/SDL2.frameworks/Headers
到您的g++命令并更改
'SDL2/SDL.h'
仅包括
'SDL.h'
因为/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'
)
相关文章:
- 如何导出包含具有"std::unique_ptr"值的"std::map"属性的
- 从包含m行的文件中提取n行,必要时(惰性地)重复该文件
- 编译包含字符串的代码时遇到问题
- c++库的公共头文件中应该包含什么
- 将包含C样式数组的对象初始化为成员变量(C++)
- 是否需要删除包含对象的"pair"?
- 函数何时会在c++中包含stack_Unwind_Resume调用
- 如何将包含epoch时间的十六进制字符串转换为time_t
- 使用mongocxx驱动程序时包含头文件问题
- 如何在h文件中包含.o对象文件
- 在混合代码库中将C转换为C++时出现许多包含错误
- VS2017,C++包含目录与附加包含目录,子文件夹包含失败-但为什么
- Python中的for循环与C++有何不同
- cmath抛出错误C2062、C2059、C2143和C2447.cmath包含在矢量文件中
- 为什么您需要C++头文件的包含保护
- 如何在Visual Studio 2017中成功包含SDL2?
- 为什么我可以在不链接任何额外库的情况下包含 sys/*.h
- 创建一个包含矩形的窗口,其中包含一个带有 C++ 和 SDL2 的矩形
- 如何包含正确的:<SDL2/SDL.h> 或 <SDL.h> 并设置 -I/usr/include/SDL2?
- 在终端中编译SDL2错误(对如何包含SDL2库感到困惑)