當我編譯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
這是rpath,當我輸入-rpath時,吐出另一個錯誤,說--rpath不是支持的選項 –