moa*_*ala 12 xcode plugins dylib install-name-tool
我正在开发一个插件包,说MyPlugIn.bundle 一个应用程序,说BigApp.app.比如说,这个捆绑包需要一个dylibMyPlugIn.bundle/Contents/Resources/library.dylib.我已经重新定位了library.dylib的路径,就像我为一个简单的应用程序包所做的那样:
$ otool -L MyPlugIn.bundle/Contents/MacOS/MyPlugIn
MyPlugIn.bundle/Contents/MacOS/MyPlugIn:
@executable_path/../Resources/library.dylib (compatibility version 0.0.0, current version 0.0.0)
[...]
$ otool -L MyPlugIn.bundle/Contents/Resources/library.dylib
MyPlugIn.bundle/Contents/Resources/library.dylib:
@executable_path/../Resources/library.dylib (compatibility version 0.0.0, current version 0.0.0)
[...]
Run Code Online (Sandbox Code Playgroud)
但是BigApp.app无法加载此捆绑包,Mac OS X的Console.app会记录以下内容:
19/01/10 15:42:59 BigApp[51516] Error loading /Library/Application Support/BigApp/Plug-Ins/MyPlugIn.bundle/Contents/MacOS/MyPlugIn: dlopen(/Library/Application Support/BigApp/Plug-Ins/MyPlugIn.bundle/Contents/MacOS/MyPlugIn, 262): Library not loaded: @executable_path/../Resources/library.dylib
Referenced from: /Library/Application Support/BigApp/Plug-Ins/MyPlugIn.bundle/Contents/MacOS/MyPlugIn
Reason: image not found
Run Code Online (Sandbox Code Playgroud)
似乎@executable_path不是由MyPlugIn.bundle可执行路径替换,而是由BigApp.app可执行路径替换.
任何解决方法,没有绝对路径,以便它可以在Mac OS X 10.4(Tiger)上运行?谢谢.
moa*_*ala 17
从网络和其他SO问题:使用@loader_path/..而不是@executable_path/...看到:
| 归档时间: |
|
| 查看次数: |
11266 次 |
| 最近记录: |