otool -L: не тип файла Mach-O

Я пытаюсь использовать Magick.Net на OS X, и я следовал этому руководству, чтобы сделать это. Это руководство для Linux, но OS X - Unix, поэтому я предполагаю, что он должен работать так же.

Я думаю, что я близок к тому, чтобы заставить это работать, но у меня есть проблема с зависимостями, и я хочу видеть зависимости .so файл.
Так что я погуглил, как посмотреть зависимости .so файл на Linux, и наткнулся на otool -L,
Этот инструмент просматривает зависимости, а также видит, могут ли они найти зависимости, которые ему нужны, что я и хочу, потому что он делает все проще.

Но когда я бегу otool -L Magick.NET-Q8-x64.dll.so Я получаю сообщение об ошибке Not a Mach-O filetype

Так что мне теперь делать? Есть ли альтернатива, которую я могу использовать, или я использую программу неправильно?

1 ответ

Решение

OS X - Unix, поэтому я предполагаю, что он должен работать так же

Здесь кроется проблема. macOS основан на Unix, но его формат исполняемых файлов ( Mach-O) уникален для macOS / OS X и его предшественника NeXT. Otool в macOS ожидается файл Mach-O, а не файл linux.so, поскольку они не совместимы в двоичном формате.

В качестве руководства, на которое вы ссылаетесь, требуется наличие работающей машины сборки Linux; Тем не менее, я не знаю.

Есть ли альтернатива, которую я могу использовать

Следуйте инструкциям в руководстве, в котором указано, что это Linux-машина, и запустите otool под линуксом.

Другие вопросы по тегам