2

我按照此处的指南在 Mac OSX 8.4 上安装了 SDL2: https ://stackoverflow.com/a/12473310

我不得不将前缀“/home/user/SDL”更改为“/Users/agagara/programming/SDL/”,因为 /home 只是 OSX 8.4 中的一个占位符——没有权限在该目录中创建文件夹没有一点黑客攻击。

我能够使用以下内容编译测试文件:

g++ Main.cpp -o main -I/Users/agargara/programming/SDL/include/SDL2 -L/Users/agargara/programming/SDL/lib -lSDL2main -lSDL2 -framework OpenGL -framework Cocoa

但是,运行会出现以下错误:

dyld: Library not loaded: /home/user/SDL/lib/libSDL2-2.0.0.dylib
  Referenced from: /Users/agargara/programming/SDL-tut/01_hello_SDL/./hello
  Reason: image not found
Trace/BPT trap: 5

我认为这是因为在某个地方,该库仍在尝试使用不正确的前缀 /home/user/。我需要改变什么来解决这个问题?

4

1 回答 1

6

好吧,稍微摆弄一下,我很幸运并回答了我自己的问题!我需要下载 OSX 的开发库并将其复制到 /Library/Frameworks/ 中,而不是从源代码编译。

完成后,正确的编译方法很简单:

g++ Main.cpp -o main -I/Library/Frameworks/SDL2.framework/Headers -framework SDL2 -framework Cocoa
于 2013-09-03T06:41:57.177 回答