我有一个Mac应用程序在XULRunner Ver18.0上运行得很好。
现在,我将XULRunner版本从18.0升级到30.0。已采取以下步骤:
Dyld错误消息:库未加载:@executable_path/libmozgle.dylib引用自: /Users/USER/Desktop/*/MyApp.app/Contents/MacOS/xulrunner原因:图像未找到
发布于 2015-03-24 19:06:45
不幸的是,XULRunner没有得到很好的支持,但我能够绕过大多数错误并使其正常工作,除了一个问题,我稍后会讲到。
基本上,我能找到的关于如何构造包的所有说明都已经过时了。由于Mac代码签名布局要求的变化,Mozilla不得不重新构造二进制文件。。通过这个错误报告和一些尝试和错误,我能够确定布局要求。
在从命令行运行Contents/MacOS/xulrunner二进制文件时,我们可以看到第一个错误。
错误1:
dyld:未加载的库:@executable_path/libmozgle.dylib
必须将整个XUL.framework内容放在应用程序的Contents/MacOS/目录中。因此,要修复此错误,请将XUL.framework/Versions/Current中的所有内容复制到应用程序的MacOS目录中。
好的,现在二进制文件将运行。然而,这就引出了下一个错误,这个错误也可以从命令行看到。
错误2:
无法装载XPCOM。
这个错误绝不是描述性的,但是要解决这个问题,您只需将dependentlibs.list文件(现在位于您的MacOS目录)复制到您的Contents/Resources/目录中。
错误3:
现在,当您通过命令行运行时,您将得到如下内容。
Mozilla XULRunner 36.0.4
Usage: xulrunner [OPTIONS]
xulrunner APP-FILE [APP-OPTIONS...]
OPTIONS
--app specify APP-FILE (optional)
-h, --help show this message
-v, --version show version
--gre-version print the GRE version string on stdout
APP-FILE
Application initialization file.
APP-OPTIONS
Application specific options.不幸的是,xulrunner并没有自动在Contents/Resources中找到application.ini文件。为了进行测试,我们可以通过命令行强制执行。下面这样的东西就能起作用:
./MyApp.app/Contents/MacOS/xulrunner MyApp.app/Contents/Resources/application.ini目前,我能提供的最后一个问题的唯一可能的解决方案是加载一个螺柱,要么是一个shell脚本,要么是执行在application.ini中运行xulrunner所必需的命令的已编译的二进制文件。
https://stackoverflow.com/questions/24740782
复制相似问题