问题标签 [dylib]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 在 Mac OS X 10.6 上从 x86_64 .a 文件创建 jnilib
我想从 Java 应用程序中使用一堆非通用(瘦?)、x86_64、C 库。问题是我只有它们的静态版本(.a 文件),jvm 需要它们是动态的。
我尝试使用 libtool 将文件组合到一个动态库中,但我只是收到错误消息,说 x86_64 缺少许多符号(可能是全部,有很多),这很奇怪,因为我在制作小 C 时没有问题使用 -arch x86_64 的应用程序使用一些库并使其链接并正确运行。
这应该是一个简单的命令行事情吧?我想要的最后一件事是为已经存在的函数编写自己的包装函数,这样我就可以将它们放入动态库中。
objective-c - 将动态库 (.dylib) 复制到框架 (.framework) 中
我有两个 XCode 项目:一个框架和一个客户端应用程序。我的应用程序依赖于我的框架,一切正常 - 每次应用程序都重新编译框架,项目构建路径设置正确,完全没问题。
现在框架开始使用第 3 方 dylib 文件,并且它与 dylib 链接。我什至添加了一个构建阶段来将该库复制到框架的资源目录中。
当我尝试运行应用程序时,一切都正确编译,然后我得到这个:
dyld:库未加载:/usr/local/lib/libplplot.9.dylib 引用自:/Users/railsmaniac/Projects/Study/Calculus of >approximations/Builds/Debug/XNMaths.framework/Versions/A/XNMaths 原因:找不到图片
我该如何解决?将库添加到客户端应用程序的资源中并不能解决问题。我可以将库放置到所需的位置,但我更喜欢将其保留在框架中。是否可以?
cocoa - XCode 中的动态库
我正在尝试在 XCode 中创建一个 mac 应用程序,它的一些实现在动态库中。
我在我的 XCode cocoa 项目中添加了一个新目标(动态库),在与框架和预编译头文件进行了一番斗争之后,让 dynlib 编译 - 并从调试器成功运行。
但是,当独立运行时,很明显 dynlib 位于错误的位置。“未加载库:/usr/local/lib/testlib.dynlib”。在 Windows(我更常用的平台)上,Dll 可以放在与 exe 相同的文件夹中,也可以放在系统路径上的任何位置。
我希望我的应用程序在其应用程序包中的某处寻找它的 dynlib(并且某些文档似乎证实这是正确的方法),但我不知道如何。
是否可以在 XCode 中配置项目,以便将 dylib 实际上复制到应用程序包中,在应用程序查找它的地方?
看来我不需要使用 otool 来重置搜索路径。如果我编辑目标信息 -> 构建 -> 部署 -> 安装目录,我可以从 XCode 内部更改 dyld 将为 dylib 查找的路径。默认情况下,对于新的动态库项目,路径设置为/usr/local/lib
. 我已更改为./
- otool 确认 ./ 现在是 dyld 正在寻找这个特定动态模块的地方。不幸的是 ./ 似乎并没有真正引用我的应用程序包中的任何目录:(
所以,我的问题(在另一个线程中没有回答)现在是:1.如何在 Target Info -> ... -> Installation Directory 设置中输入有意义的相对路径,以及 2.如何让 XCode 自动将dylib“目标”复制到应用程序捆绑目标的捆绑文件夹中的相对位置?
macos - 使用完整路径链接到 Mac 上的动态库
我正在使用以下命令(使用 cmake 生成)链接嵌入 Matlab 引擎的(Python 扩展)库
导致
但是,当我尝试使用该库时,我收到一条错误消息:
我相信问题源于链接器在表单中包含 matlab dylib 文件@loader_path/libeng.dylib
而不是使用完整路径,即使我给出了g++
. 如何强制链接器使用完整路径?
我知道一种解决方案是使用
这是那些库文件所在的位置,但我想避免这种情况,因为它会导致一些其他问题。
macos - Mac OSX 中的网络数据包检查器
我正在尝试创建一个网络数据包检查器。
我知道你可以用 libpcap 做到这一点,但它不是嗅探器,我需要伪造网络数据包,然后才能将其发送到网络上。(通过 socks 服务器发送)
我找到了两种方法来做到这一点:
- 使用 NKE。(网络内核扩展)
- 使用 DYLD_INSERT_LIBRARIES 插入库以挂钩网络功能。
你认为哪种方法最好?
xcode - 插件包中的 dylib @executable_path 路径问题
我正在开发一个插件包,比如说MyPlugIn.bundle
一个应用程序,比如说BigApp.app
。这个包需要一个 dylib,比如说MyPlugIn.bundle/Contents/Resources/library.dylib
。我已经重新定位了 library.dylib 的路径,就像我对一个简单的应用程序包所做的那样:
但 BigApp.app 无法加载此捆绑包,Mac OS X 的 Console.app 记录以下内容:
似乎 @executable_path没有被 MyPlugIn.bundle 可执行路径替换,而是被BigApp.app 可执行路径替换。
任何解决方法,没有绝对路径,以便它可以在Mac OS X 10.4 (Tiger)上运行?谢谢。
dylib - 使用 dlopen 查找 dylib 版本
有没有办法使用它的路径找到 dylib 的版本?我正在寻找可以接受与 dlopen 相同参数的东西。我查看了 NSVersionOfRunTimeLibrary,但从我阅读文档看来,它获取的是当前 dylib 的版本,而不是路径中指定的版本。
谢谢
iphone - iPhone 3.1.2 的 dylib 太短,错误的 cputype/cpusubtype
我一直在尝试编译一个 dylib 以在一个小原型实验中使用,但是 dlopen() 说我的 dylib 是 Mach-O 但文件太短了。是不是应该加点东西?
我有最新的一切,所以这不应该是一个问题。
当我尝试将 i386 和 armv6 拱门合并在一起时,lipo 会吐出这个:
lipo:文件(libTest.A.armv6.dylib)的指定架构类型(armv6)与它的cputype(7)和cpusubtype(3)不匹配(应该是cputype(12)和cpusubtype(6))
Any thoughts?
macos - dyld:在终端中运行命令时库未加载错误
在终端中运行某些命令时,我收到以下错误消息
我的 xcode 是最新的。
cocoa - 在 Cocoa 应用程序中设置 .dylib 路径的路径
我正在开发一个 Mac OS X Cocoa 应用程序并想使用几个 .dylib 库。如何设置位于我的应用程序文件夹中某处的 .dylib 的路径?如果路径位于不同计算机上的不同目录中或根本不存在怎么办?