在macosx上编译C ++ SDL

时间:2013-09-03 06:31:07

标签: c++ macos g++ sdl

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

我不得不将前缀“/ home / user / SDL”更改为“/ Users / agargara / 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 /。我需要更改什么来解决这个问题?

1 个答案:

答案 0 :(得分:6)

嗯,稍微摆弄一下我很幸运并回答了我自己的问题!我需要下载OSX开发库并将其复制到/ Library / Frameworks /。

,而不是从源代码编译。

一旦完成,编译的正确方法就是:

g++ Main.cpp -o main -I/Library/Frameworks/SDL2.framework/Headers -framework SDL2 -framework Cocoa