2

我在 macOS 上,我正在编译我的游戏

g++ -F Frameworks -rpath Frameworks {{frameworks}} src/main.cpp -o game

我按照苹果开发人员文档 中有关如何创建 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,我可以在 Contents 文件夹中运行二进制文件./MacOS/game。但是,如果我只使用框架目录的绝对路径,它就可以工作。

我应该传递什么作为我的-rpath论点?

4

1 回答 1

2

根据此链接,您需要rpath在命令行中以这种方式定义:

-rpath @executable_path/../Frameworks

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

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

于 2018-11-20T22:59:45.600 回答