问题标签 [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.

0 投票
4 回答
119680 浏览

macos - 如何打印从动态库导出的符号列表

所以我一直在尝试让动态库在我的 Mac OS X 下的 XCode 项目中工作。到目前为止还没有任何乐趣。

我能够加载 dylib 文件,但是当我调用 dlsym 来获取函数指针时,它返回 0 并且 dlerror 说找不到符号。

所以我想知道是否有一种简单的方法可以列出从 dylib 文件导出的符号。任何想法都会很棒。

0 投票
3 回答
3195 浏览

xcode - 如何在 OSX 上的 XCode 中的动态库中从 C++ 中解开导出的符号

我一直在尝试用 C++ 开发一个可以在应用程序中运行时加载的动态库。我终于让它工作了,但它有点难看。我有一个函数,它将指向 C++ 类的指针作为参数,如下所示:

但当然它被导出为:

我尝试了一个带有简单函数的 .c 文件,它导出为“registerGrindPlugin”,但当然我不能以这种方式将 C++ 类作为参数传递。

Soo ...我的问题是,有没有办法解开或别名导出的符号,这样我就不必在我的 dlsym 调用中使用像 Z19registerGrindPluginPN5Grind13PluginManagerE 这样的怪物?

我确实看到了一些关于 -alias_list 作为链接器选项的信息,但我还没有完全弄清楚如何在 XCode 中使用它。如果这是解决方案,有人可以提供有关如何使用它的更多详细信息吗?

0 投票
2 回答
1026 浏览

iphone - xcode中的重复dylib警告

添加flurry api后我收到了这个警告:

我不明白我必须做什么才能摆脱这个。任何提示都会很有帮助。

谢谢

0 投票
2 回答
1057 浏览

c# - 使用来自 mono 的 freepascal 库 (.dylib)

虽然学习 C# 和 Delphi Prism 以与 monotouch 一起使用是有益的,但我正在寻找一种方法来重用用普通 Object Pascal 编写的代码。简单地重写我 15 年来在 Delphi 中所做的一切是完全不能接受的。

所以我的问题是双重的:

  1. 如果为了争论,我有一个用普通 Object Pascal 编写的库,没有外部依赖项,并用 iPhone 的 ARM freepascal 编译器编译 - 我可以使用 monotouch 生成的 dylib 吗?
  2. 如果以上是正确的,我如何从 C#/Prism 声明和调用这些外部函数?我如何处理单声道中的传递记录类型等?

我注意到其他 iPhone 应用程序附带了它们自己的 dylib 文件(SDL 游戏库就是一个典型的例子)。我找不到为什么这不起作用的原因。

0 投票
1 回答
973 浏览

objective-c - 在 ObjectiveC 中从源文件创建 .dylib 动态库

我已经从这个http://fukuchi.org/works/qrencode/index.en.html下载了 qrencode 源文件

任何人都可以列出创建 dylib 文件的步骤吗?

谢谢

0 投票
4 回答
77450 浏览

c++ - 如何在 Mac OS X (C++) 中使用 dylib

我制作了一个应用程序(一个可执行文件)成功调用了一些 dylib。但是,dylib 文件和可执行文件位于不同的目录中。我将包含 dylib 文件的目录添加到$PATH环境变量中。但是,它仍然无法加载。我将所有dylib文件复制到可执行文件中,程序终于运行了。这确认 dylib 文件没有问题。但是,我怎样才能告诉操作系统找到它呢?
在 Windows 中,我只需要将包含 dll 文件的目录路径添加到 $PATH。对于 Mac OS X,我需要做什么?

0 投票
1 回答
3852 浏览

c++ - 如何在 XCode 中调试 DYLIB?

我是一位经验丰富的 Visual Studio 开发人员,最近参与了一个 OSX 10.6 项目(一个没有 UI 的 C++ 服务器项目)。

几个月来,我一直在使用 XCode 调试器(设置断点等)成功调试应用程序,包括调试链接到最终可执行程序的各种静态库的源代码。

然而,今晚我需要调试(使用断点)一个 DYLIB,它也是从我们的源代码构建的,但它在运行时与应用程序动态链接(DYLIB 的名称是从主应用程序的 .ini 文件中读取的)。

不幸的是,我使用调试应用程序的常用方法(右键单击自定义可执行文件并选择“使用断点调试”),尽管它确实成功运行了调试器并允许我调试应用程序(以及它的静态链接库),当我尝试在 DYLIB 的源代码中命中断点时,会出现以下不良行为:

-> XCode 调试器报告断点被击中,因为我在 XCode 窗口底部的状态栏中看到函数和行号(以及表明这是一条 gdb 消息的指示),并且应用程序暂停执行。但是,没有堆栈跟踪,没有变量,什么都没有——只是一个完全空的调试器窗口。“越过”、“进入”等按钮被禁用。调试器中没有出现编辑器窗口(因此没有视觉指示调试器已在指示的行上停止)。手动打开文件不会显示调试器命中该行。

不幸的是,就我调试 DYLIB 的尝试而言,这对我来说毫无用处。

今晚我进行了广泛的研究,研究并试图找到一种方法,让 XCode 调试器在这个动态链接的 DYLIB 的源代码中以一种有意义的方式成功地命中断点。我当然做了一些清理/重建。我已经确定“延迟加载符号”未选中,然后清理/重建。我已经重新启动了,我也删除了“build”目录并重建。我还删除了 .xcodeproj 包中的用户特定文件。(另请注意,我当然是在开发模式下构建和运行所有代码,包括 DYLIB 代码,关闭所有优化,并为所有代码生成调试符号。)但是,我的尝试没有成功。在互联网论坛上,我也找不到任何关于这个问题的提及。

指导我如何使用 XCode 成功调试链接到我的应用程序的 DYLIB 的任何帮助将不胜感激。

谢谢,丹。

0 投票
3 回答
95199 浏览

ios - 你可以为 iOS 构建动态库并在运行时加载它们吗?

iOS (iPhone/iPad) 是否支持动态库?

在 Xcode 中,我尝试创建一个New project -> Framework & Library -> Cocoa Library (dynamic)。在项目设置中,我将Base SDKiOS device 4.1和 target 设置为,iOS4.1但它有一个构建错误:

目标指定产品类型“com.apple.product-type.library.dynamic”,但“iphonesimulator”平台没有这样的产品类型”。

我选择的构建是Simulator -> Debug -> i386

0 投票
0 回答
2531 浏览

linker - 从 dylib 中删除依赖的共享库?

我知道我可以使用 install_name_tool 的 -change 选项来更改存储在 dylib 中的依赖共享库的名称,但是有没有办法删除依赖共享库,我相信这是一个 LC_LOAD_DYLIB 命令,所以它不会当我在 dylib 上运行 otool -L 时不显示?

0 投票
1 回答
227 浏览

cocoa - Xcode 3.2.5 Cocoa 项目修改了链接的 3rd 方 dylib。为什么?

我正在将第 3 方 dylib 链接到可可项目中。

我安排 Xcode 将其复制到应用程序的 Frameworks 目录中。

但是当我在框架中使用 dylib 对原始 dylib 进行 cmp 时,我发现第 3 方 dylib 已被修改。我有一些旧的 Xcode 可可项目不这样做,即 Frameworks 中的 dylib 与原来的相同。

我尝试修改 Xcode 项目以隔离导致 dylib 被修改的原因,但到目前为止还没有运气。有任何想法吗?