如何为 SFML 游戏创建 macOS .app 包?

How can I create a macOS .app bundle for a SFML game?

我在 macOS 上,我正在用

编译我的游戏
g++ -F Frameworks -rpath Frameworks {{frameworks}} src/main.cpp -o game

我正在按照 apple developer documents 上的说明进行操作 关于如何创建 macOS .app 包,我有正确的文件夹结构和文件,但我仍然无法启动该应用程序。

我收到错误信息:

Dyld Error Message: Library not loaded: @rpath/sfml-window.framework/Versions/2.5.1/sfml-window Referenced from: /Users/USER/*/test.app/Contents/MacOS/game Reason: image not found

我所有的框架包都在 test.app/Contents/Frameworks 中,我可以 运行 目录文件夹中的二进制文件 ./MacOS/game。但是,如果我只使用框架目录的绝对路径,它就可以工作。

我应该传递什么作为我的 -rpath 参数?

根据 this link,您需要在命令行中以这种方式定义 rpath

-rpath @executable_path/../Frameworks

这应该告诉它在 AppBundle/Contents/Frameworks/ 中查找所有框架。

This 是关于该主题的另一篇好文章。