【问题标题】:SDL2_mixer framework OSX gcc compiler errorSDL2_mixer 框架 OSX gcc 编译器错误
【发布时间】:2016-03-10 15:03:34
【问题描述】:

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

这是编译器的代码,我使用 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

包括。

#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

【问题讨论】:

    标签: macos compiler-errors frameworks sdl-2


    【解决方案1】:

    应该是这样的

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

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

    【讨论】:

    • 这是 rpath,当我输入 -rpath 时,它会吐出另一个错误,说 --rpath 不是受支持的选项
    【解决方案2】:

    SDL2 Mixer 框架在 OSX 上被破坏。

    【讨论】:

    • 需要详细说明吗?
    • SDL2 混合(现在不确定)是一个损坏的包,包含时无法编译。
    • 这当然是在问题的当前上下文中。
    • 好的,谢谢。我认为包裹坏了是“全球知识”。这似乎是相关的,因为我在捆绑这个东西时遇到了一些问题;^)感谢您清理它
    • 您的问题可能与此有关,我相信我无法使该软件包与 G++ std=gnu11 或 14 一起使用。 SDL 的其余部分运行良好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-07
    • 2016-11-13
    • 1970-01-01
    相关资源
    最近更新 更多