我已经使用Homebrew安装了SDL2,但现在不知道如何确保Xcode可以使用它!我导入了创建的库并将其添加到项目的构建阶段选项卡中。但是当我尝试构建时,出现错误“未找到SDL2/SDL.h”。
要在Xcode上使用SDL2,您必须设置两个东西(这对于一般的SDL是必需的):
-Iheader/path
编译).framework
)要知道正确的路径,您应该调用sdl2-config --cflags
和sdl2-config --libs
。在我的系统上,它们会产生以下结果:
:~jack$ /usr/local/bin/sdl2-config --cflags
-I/usr/local/include/SDL2 -I/usr/X11R6/include -D_THREAD_SAFE
:~jack$ /usr/local/bin/sdl2-config --libs
-L/usr/local/lib -lSDL2
现在只需将第一个粘贴到您的项目的其他C标志
中,将另一个粘贴到其他链接器标志
字段中,然后您就可以开始了。
您可以在正确的字段中设置它们,即Header Search Paths
用于-I
,Library Search Path
用于-l
,但结果是相同的。
从 https://brew.sh 安装 Homebrew。
在终端中键入brew install sdl2
。
然后显示框架路径(在 xCode 中选择项目文件 >> 构建设置 >> 头文件搜索路径),并使用 cmd+shift+g 键入 /usr/local/include。
在“常规”“框架与库”中放置 libSDL2-2.0.0.dylib(它在这里/usr/local/Cellar/sdl2/2.0.14_1/lib)。
最重要的是,在“签名和能力”中检查“禁用库验证”。
完成这些步骤之后,代码开始在我的计算机上运行。
使用brew搜索sdl2
使用brew安装sdl2、sdl2_image、sdl2_mixer、sdl2_net和sdl2_ttf
配置xcode Build Settings --> All --> Search Paths --> Header Serch Paths
--> /usr/local/include
配置Xcode General ->添加Frameworks and Libraries --> libSDL2-2.0.0.dylib
测试你的代码
#include <iostream>
#include <SDL2/SDL.h>
#include <SDL2/SDL_image.h>
using namespace std;
int main() {
if(SDL_Init(SDL_INIT_VIDEO) < 0) {
cout << "SDL init failed." << endl;
return 1;
}
cout << "SDL Init succeeded." << endl;
SDL_Quit();
return 0;
}
#include <SDL2/SDL.h>
那样嵌套的。我该如何确保这个工作?还有,如果我想以正确的方式做到这一点,应该将哪些路径放入头文件搜索路径和库搜索路径中?因为我尝试过了,但还没有成功。 - Jaap Wijnen-lSDL2
库,所以我建议你使用上面答案提供的第一种方法。 - Our