首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >macos上的Tesseract .net,如何在macOS12上引用libdl.dylib?

macos上的Tesseract .net,如何在macOS12上引用libdl.dylib?
EN

Stack Overflow用户
提问于 2022-06-17 18:07:00
回答 1查看 156关注 0票数 0

我正在运行一个需要引用libdl.solibdl.so应用程序

代码语言:javascript
复制
System.DllNotFoundException : Unable to load shared library 'libdl.so' or one of its dependencies. In order to help diagnose loading problems, consider setting the DYLD_PRINT_LIBRARIES environment variable: dlopen(liblibdl.so, 0x0001): tried: 'liblibdl.so' (no such file), '/usr/local/lib/liblibdl.so' (no such file), '/usr/lib/liblibdl.so' (no such file), '/Users/Amplicity/Documents/liblibdl.so' (no such file)

读了几遍之后,我发现libdl.so相当于libdl.dylib,然后我尝试在我的机器上找到libdl.dylib

代码语言:javascript
复制
➜  lib locate libdl.dylib
/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/tvOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libdl.dylib
/Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/watchOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libdl.dylib
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libdl.dylib

只有tvos、libdl.dylib和ios签署了.dylib的文件。更多的轻读显示,在xcode 7的某个地方,.dylib文件被.tbd取代,这是一个在其他地方引用dylibs的文本文件。

代码语言:javascript
复制
➜  lib locate libdl.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/usr/lib/libdl.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator.sdk/usr/lib/libdl.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libdl.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/usr/lib/libdl.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform/Developer/SDKs/WatchSimulator.sdk/usr/lib/libdl.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/libdl.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/libdl.tbd
/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/lib/libdl.tbd
/Library/Developer/CommandLineTools/SDKs/MacOSX12.0.sdk/usr/lib/libdl.tbd
/Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/usr/lib/libdl.tbd
/Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/lib/libdl.tbd

我试图将.tbd链接到我的.net应用程序所期望的.so,但是.net抱怨说它是一个mach-o文件。

然后,我尝试将tvos .dylib.so进行符号链接,并得到了一个不同的错误,说明它需要为macos签名。

如何在libdl.dylib上找到/召唤macOS12,以便在应用程序中直接引用它?

EN

回答 1

Stack Overflow用户

发布于 2022-06-23 18:33:31

我认为您无法重新构建该应用程序,因此不会请求cause currently libdl.so`,因为它不再作为独立部署。

尝试将libdl.solibc.so建立符号链接(或与.net平台包libc.so.x一起安装的任何版本)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72663256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档