2016-03-10 163 views
1

当我编译SDL2的框架时,除了在列表中编译SDL2_mixer.framework时,我没有任何问题。SDL2_mixer框架OSX gcc编译器错误

这里是编译器的代码,我使用rpath到自定义位置/目录,因为我希望能够在不带编译器错误的计算机之间移动它,它可以工作,虽然就像我之前提到的那样它有问题使用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 

The include。

#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 

回答

0

SDL2搅拌机框架上OSX打破。

0

是它应该是

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

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

这是rpath,当我输入-rpath时,吐出另一个错误,说--rpath不是支持的选项 –