问题标签 [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 投票
2 回答
562 浏览

c - dylib 中的符号,适用于 gcc-4.0 而不是 gcc-4.2(OSX 默认)

我有一个动态库,我用它构建

我的测试程序链接到这个库

当 CC=gcc-4.2 在 gdb 中出现以下错误时,当我尝试访问 libmylib.dylib 中的 const 符号时:

该程序适用于:

  • 雪豹上的 gcc-4.0
  • Debian i386 上的 gcc-4.3.2
  • gcc-4.1.2 用于 arm-angstrom-linux-gnueabi

更新:这是 Lib 中的一些调试输出 main=main loadKeyList=function

海湾合作委员会 4.0:

GCC4.2

结构看起来像这样:

更新 2:这适用于主要的 gcc-4.2

这与指针句柄->keyList 之类的地址相同!

KEYMAP 看起来像:

那么 gcc-4.2 有什么问题呢?

谢谢

0 投票
1 回答
4186 浏览

iphone - Dyld:库未加载

我正在尝试将库 libssh2.1.dylib 链接到我的 iPhone Xcode 项目,但是当我尝试链接它时出现此错误。如果我不将此添加为框架,则会收到 Symbols not found 错误。现在 /Users/Matt/Documents/Development/iPhoneApps/Portscanner/lib/libssh2.1.dylib 不是该文件的正确路径。我从互联网上下载了图书馆及其作者计算机的路径。我的文件位于完全不同的地方。如何更改路径参考?这是我得到的错误:

0 投票
1 回答
8558 浏览

c++ - 在 Xcode 中构建和使用 DYLIB

我正在尝试在 Xcode 中构建一个 .dylib。当前构建了 .dylib,但是当我将 .dylib 拖到另一个项目中并尝试 #import .dylib 中的一个标头(Seeker.h)时,我收到此错误:

*:没有这样的文件或目录
Seeker.h:没有这样的文件或目录

该项目在此处作为 Xcode 项目提供。

我可以确认标头确实位于 .dylib 构建后的路径中,但至于如何处理它我不知道。我对 .dylib 文件的唯一经验是 Mac OS X 中内置的框架,例如 libsqlite3.dylib,它运行良好。我能在 .dylib 文件上找到的所有教程都没有介绍如何以合理的方式将它们与 Xcode 一起使用。它们都依赖于复杂的脚本或依赖于机器的配置,这对我们不起作用。

所以基本上我需要一个从头到尾的逐步过程,成功构建 .dylib 并以不依赖于为不同用户更改构建设置的方式成功地将其包含在另一个 Xcode 项目中。换句话说,一种行之有效的方式,当我们将两个项目都分发给我们的团队成员时,它就会奏效。

0 投票
1 回答
2564 浏览

c++ - 在 Xcode 项目中使用动态库 (DevIL/OpenIL)

我正在尝试编译使用 OpenGL、SDL 和 IL aka DevIL aka OpenIL 库的示例源代码。OpenGL 和 SDL 可用作本机框架,但 DevIL 不是。所以这就是我所做的:

我通过自制软件安装了 DevIL。首先我改变了公式,因为我需要 ILUT:

然后编辑了这些行

像这样

并安装了所有东西

这给了我 DevIL 头文件/usr/local/include//usr/local/lib/. 接下来,我通过以下步骤将库添加到我的项目中:

  • 右键单击我唯一的目标
  • 单击“添加 > 现有框架”
  • 选择“动态库”
  • 添加libIL.dylib,libILU.dyliblibILUT.dylib

(列表中还有libIL.1.dylib,libILU.1.dyliblibILUT.1.dylib可用的,这正常吗?)

然后我在“项目>编辑项目设置>构建>其他链接器标志”中添加了以下标志:

当我尝试编译和链接项目时,出现以下错误:

显然,.dylib文件没有正确构建,因此没有找到符号,但我怎样才能使它工作?我犯了什么错误吗?有没有办法以不同的方式构建库以便它们与我的项目一起使用,或者我可以以某种方式更改我的项目的构建架构?

非常感谢你的帮助!

0 投票
1 回答
98 浏览

objective-c - 将项目从类集合转换为 .dylib 的过程?

我已经在一个宠物项目上工作了几个星期,并开始认为它可能会被我自己和几个朋友使用。目前,它实际上只是一个 XCode 项目中的一堆 Objective-C 类,我一直在使用 main() 来测试各种特性。如果我将它打包为 .dylib 文件,那么在项目中使用这个库似乎是最容易的。正如我在其他语言中发现的那样,事后才这样做是一件令人讨厌的事情,理想情况下会被外包到最低级别。:)

我对 Objective-C/Xcode 世界很陌生,但是根据 Apple 的“动态库编程主题”,我的印象是,这实际上只是将我的接口文件重新调整为以下格式的问题:

(取自引用的 Apple 文档)。

其中:我正在定义一个协议,其中包含我希望包含在 .dylib 中的类的方法,然后定义一个接口,该接口将实现上述协议的 NSObject 子类化并在此处声明 ivars。

几个问题:

我是否可以从协议中省略我不想“导出”到 dylib 的方法?

如果我在 dylib 中有一个类的子类,我是否为子类创建另一个协议,并使新创建的类的超类实现该协议?例如,如果我是 person 的子类:

这可能是一个非常微不足道的问题,但我试图弄清楚我需要做的所有事情,然后再将所有课程移至 .dylib。

0 投票
1 回答
376 浏览

c++ - 如何在 OSX 中创建可动态加载的 RtAudio 版本

我需要创建 librtaudio.dylib,一个可动态加载的 RtAudio 库 (http://www.music.mcgill.ca/~gary/rtaudio/)。我想编写 CFFI 绑定(在 SBCL 中),但我似乎无法编译可使用 CFFI 加载的 dylib。以下是我用来创建 dylib 的编译器和链接器命令:

g++ -O2 -Wall -Iinclude -fPIC -DHAVE_GETTIMEOFDAY -D__MACOSX_CORE__ -c RtAudio.cpp -o RtAudio.o

g++ -dynamiclib -install_name /usr/local/lib/librtaudio.dylib -lSystem -compatibility_version 1.0 -current_version 1.0 RtAudio.o -o librtaudio.dylib -lpthread -framework CoreAudio -framework CoreFoundation

0 投票
1 回答
263 浏览

c++ - 库未在终端上加载,但在 Xcode 上运行正常

我在 Xcode 中构建了一个命令行工具,它运行正常,但是当我尝试从终端运行它时,它抱怨我的一个库:

在我的 MyApp 项目中,我向目标添加了一个复制阶段(目标:框架,没有路径并且没有标记 only-on-installing 复选框),并且在 MyApp 的目录中我可以看到复制的 Josk.framework。

谢谢,
乔纳森

0 投票
1 回答
639 浏览

xcode - 在 Kexts 中链接 Dylib?

我为 OS X 编写了一个 kext,它使用 (IOKit) libusb 和 jpeglib 实现了一个基于 USB 的帧缓冲区。这两个都是 dylib,由于某种原因,它们无法在 XCode 中正确链接,并且操作系统在尝试加载 kext 时不会解决依赖关系。

整个事情的背景是三星制造了一个液晶相框,可以作为第二个显示器;唯一的问题是它不是 DisplayLink 或任何其他已知协议——仅限 Windows 的驱动程序会输出一个自定义标头,并且每个帧都被编码为 JPEG 并发送到设备。我的实现是为 OS X 做的,但我使用了 libusb,因为它是一个帧缓冲设备,需要在启动时加载——想要更多地处理驱动显示器而不是热插拔检测和 IOKit 的 USB 设备要求。

谢谢你的帮助!你们真棒。

0 投票
1 回答
1937 浏览

iphone - iOS:是否允许使用 libIOKit.dylib

使用这个库是否“应用商店安全”?

0 投票
2 回答
6323 浏览

c++ - 创建和使用简单的 .dylib

在 Xcode 中创建和使用 .dylib 的最基本方法是什么?

这是我到目前为止所拥有的:

文件:MyLib.h

文件:MyLib.cpp

我将项目编译为动态库,但如何将它与其他项目一起使用?我试过这样的事情:

文件:MyLibTester.cpp

但这给了我 400 多个错误(主要是Stray \123 in program. Using<libMyLib.dylib>给了我一个file not found错误。