Как исправить ошибку maclo dlopen библиотеки с правильной архитектурой, но сообщающей «mach-o, но неверная архитектура»

Я пытаюсь построить динамически загружаемую библиотеку / комплект (пробовал оба) в 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

Тем не менее, библиотека на самом деле является правильная архитектура, из того, что я могу сказать (хост поддерживает 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.

Я также могу создать отдельный плагин, над которым я работаю сам, без каких-либо проблем, просто кажется, что это происходит с этой конкретной базой кода и скриптами / опциями сборки.

Что может быть причиной этого сообщения в том случае, если архитектура действительно правильная? И что я мог сделать, чтобы это исправить?

Большое спасибо!

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]