otool -L:不是Mach-O文件类型

时间:2018-02-12 11:05:49

标签: macos .net-core magick.net

我试图在OS X上使用Magick.Net,并且我一直在关注this指南。它是Linux的指南,但OS X是Unix,因此我假设它应该工作相同。

我认为我已接近使其工作但我遇到了依赖项问题,我希望看到.so文件的依赖关系。
所以我用Google搜索了如何在Linux上查看.so文件的依赖关系,并偶然发现otool -L
这个工具查看了depdencies,并且看它是否可以找到它需要的依赖项,这就是我想要的,因为它使一切变得更容易。

但是当我运行otool -L Magick.NET-Q8-x64.dll.so时,收到错误消息Not a Mach-O filetype

那我现在该怎么办?有没有我可以使用的替代方案,或者我使用的程序是错误的?

1 个答案:

答案 0 :(得分:0)

  

OS X是Unix所以我认为它应该工作相同的

这就是问题所在。 macOS是基于Unix的,但其可执行文件格式(Mach-O)对于macOS / OS X及其前身NeXT是唯一的。 macOS上的Otool需要一个Mach-O文件,而不是linux .so文件,因为它们不是二进制兼容的。

作为指向状态的指南,需要运行Linux构建计算机;但是, L inux I s N ot U nix。

  

有没有我可以使用的替代方案

按照指南中的说明进行操作,该指南说明要求是Linux计算机并在Linux下运行otool