我正在尝试在Xcode(试过9和10)中构建一个动态加载的库/包(试过两者),特别是从这个存储库:https://github.com/kurasu/surge - 它是一个VST2音频插件,由数字音频工作站使用(例如Ableton Live,Bitwig Studio ,Cubase等) .
我能够构建 i386
和 x86_64
架构 . 但是,当我尝试加载插件时,主机(Bitwig,在这种情况下 - 其他人无声地失败)报告:
Error loading
/Library/Audio/Plug-Ins/VST/Surge.vst/Contents/MacOS/SURGE:
dlopen(/Library/Audio/Plug-Ins/VST/Surge.vst/Contents/MacOS/Surge, 262): no suitable image found. Did find:
/Library/Audio/Plug-Ins/VST/Surge.vst/Contents/MacOS/Surge: mach-o, but wrong architecture
但是,该库实际上是 is 正确的架构,从我可以告诉(主机支持 x86_64
):
$ lipo -info /Library/Audio/Plug-Ins/VST/Surge.vst/Contents/MacOS/Surge
Non-fat file: /Library/Audio/Plug-Ins/VST/Surge.vst/Contents/MacOS/Surge is architecture: x86_64
我还构建了一个具有相同结果的 i386
版本 .
还有一些注意事项:这个库在某些地方有汇编代码,原始的VST2构建会创建一个带有脚本的 dylib
来封装它 . 我也修改了它来创建一个 bundle
,但最终导致了同样的错误 . 它也散布着Windows / Mac / Linux的各种条件 .
我也能够构建一个单独的插件,我一直在自己工作,没有任何问题,它似乎发生在这个特定的代码库和构建脚本/选项 .
在架构实际上是正确的情况下,这条消息的原因是什么?我该怎么做才能解决它?
非常感谢!