SDL2_mixer 框架 OSX gcc 编译器错误

SDL2_mixer framework OSX gcc compiler error

当我为 SDL2 编译框架时我没有遇到任何问题,除了当我编译 SDL2_mixer.framework 时。

这是编译器的代码,我将 rpath 用于自定义 location/directory 因为我希望能够在没有编译器错误的情况下在计算机之间移动它,并且它可以工作,尽管就像我之前提到的那样SDL2 中的混音器(音频)框架有问题。

echo "OSX/Darwin"
FLAGS=""
FLAGS+="-framework OpenGL -framework GLUT "
FLAGS+="-F $(pwd)/SDL_runner/SDL_frameworks/OSX/ "
FLAGS+="-framework SDL2 "
FLAGS+="-framework SDL2_mixer "
FLAGS+="-framework SDL2_image "
FLAGS+="-framework SDL2_ttf "
FLAGS+=-"rpath $(pwd)/SDL_runner/SDL_frameworks/OSX/ "

GCC编译器代码,$compilecpp $compilec和$compileo就是该目录及子目录下的所有cpp、o、hpp文件。这三个变量也不会导致问题。

g++ -Wall $compilecpp $compilec $compileo -o run -DMAC $FLAGS

包括。

#ifdef MAC
#include <SDL2/SDL.h>
#include <SDL2_mixer/SDL_mixer.h>
#endif

最后,我从中得到的错误仅与 SDL2_mixer.framwork 有关,表示图像不存在,即使我以与其他框架完全相同的方式实现它.

dyld: Library not loaded: @executable_path/../Frameworks/SDL2.framework/
Versions/A/SDL2
  Referenced from: /Users/jordan/Documents/GaleFoxGames/graphic_render/
OpenGL_dis4/SDL_runner/SDL_frameworks/OSX/SDL2_mixer.framework/Versions/
A/Frameworks/smpeg2.framework/Versions/A/smpeg2
  Reason: image not found
Trace/BPT trap: 5

应该是

FLAGS+=-"rpath $(pwd)/SDL_runner/SDL_frameworks/OSX/ "

FLAGS+="-rpath $(pwd)/SDL_runner/SDL_frameworks/OSX/ "

SDL2 Mixer 框架在 OSX 上损坏。