我有一个MacOS应用程序,我在“嵌入式二进制文件”中添加了一个框架(简称为{% url '...' id %}
,它是一个文件夹),该框架也显示在“链接的框架和库”中。该项目可以编译并正常运行。
但是,当我将应用程序包复制到另一台MacBook时,它无法运行,并告诉我它找不到要加载的第二个框架(我们称之为A.framework
)。 B.framework
使用绝对路径链接到A.framework
,因此即使我更改了B.framework
的安装名称,它仍会使用绝对路径查找A.framework
。我有办法在B.framework
中进行更改吗?我没有A.framework
的源代码。
我在二进制文件上使用了A.framework
工具,发现它没有链接捆绑软件中的框架(捆绑软件具有嵌入在捆绑软件中的框架的副本)。链接器仍然指向通过“嵌入式二进制”路径设置的框架复制位置,这是我的开发机器上的绝对路径。
如何使其指向捆绑包内的otool
?
谢谢!
答案 0 :(得分:0)
在开发人员工具中寻找install_tool_path
并将-change
标志应用于A.framework
,但是我不确定这是否不会破坏该框架的代码签名。无论如何,请阅读doc.qt.io/archives/qt-5.11/osx-deployment.html。他们展示了如何使用此工具更改分发包中的路径。