问题标签 [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.
xcode - 如何在 Xcode 4 中使用 dylib 文件创建工作框架
我在 Xcode 中创建了一个新的 cocoa 框架,删除了它在开始时包含的所有库和文件,除了支持文件。
我有 2 个文件:
和
在构建阶段,我添加 add.c 来编译源代码和 add.h 来编译公共头文件。项目构建没有问题,但在框架中没有 dylib 文件,当我将框架拖放到另一个项目时,它说找不到 dylib 文件。
如何制作一个简单的框架并将 dylib 文件保存在其中?
c++ - 如何在运行时检索到我的 dylib 的路径?
在 OS X 上,dylib 中的代码如何在运行时找到它的加载路径?
来自 Windows 背景,我习惯于调用GetModuleFileName(dllHandle,...)
.
存在NSGetExecutablePath()
它将为我提供当前进程的可执行文件的路径。有没有等价物给我当前的dylib路径?
ruby-on-rails - 将Ruby1.9.2从p180升级到p290后,libruby动态库路径没有更新
我使用 RVM 将 Ruby 1.9.2 从补丁级别 p180 升级到 p290:
然后,我使用这些命令来更新我的 Rails gem 和其他 gem
一切似乎都很好;rvm info
显示所有 Ruby 二进制文件和 gem 都已移动到正确的 p290 路径 (~/.rvm/*/ruby-1.9.2-p290/*)。
但是,当我转到我的 Rails 应用程序目录并发出命令rails console
时,我收到一条错误消息,指出 gem (activesupport-3.0.5) 无法加载libruby.1.9.1.dylib
文件。
上午 10:30 ~/Development/rails_projects/my_app_0515 $ rails 控制台
/Users/whk/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:239:in `require': dlopen(/Users/whk/.rvm /gems/ruby-1.9.2-p290/gems/serialport-1.0.4/lib/serialport.bundle, 9):库未加载:/Users/whk/.rvm/rubies/ruby-1.9.2-p180/ lib/libruby.1.9.1.dylib (LoadError) 引用自:/Users/whk/.rvm/gems/ruby-1.9.2-p290/gems/serialport-1.0.4/lib/serialport.bundle 原因:图像不是找到 - /Users/whk/.rvm/gems/ruby-1.9.2-p290/gems/serialport-1.0.4/lib/serialport.bundle 。. .
Rails 在 中找不到 dylib 文件~/.rvm/rubies/ruby-1.9.2-p180/lib
,因为p180
路径不再存在,但文件在~/.rvm/rubies/ruby-1.9.2-p290/lib
.
从一个单独的StackOverflow 帖子中,我发现一种解决方法是将这一行添加到 .bashrc
但是,我想了解为什么 rvm ruby 升级不处理 lib 路径更改?有谁知道更清洁的解决方案 - 从配置位置删除 p180 路径的解决方案?
这是我的环境:
- Mac OS X 10.6.6(雪豹)
- 转速 1.8.4
- 红宝石 1.9.2p290
- 导轨 3.0.5
谢谢!
macos - 如何构建苹果的开源 libc?
我正在尝试在我的 OS X 10.6.8 笔记本电脑上构建苹果的开源 libc(来自http://www.opensource.apple.com/source/Libc/Libc-763.11/ )。这是为了从本质上获取 /usr/lib/libSystem.B.dylib 的本地生成副本,我打算进一步试验。
我看到了几个基本的障碍(除非,显然,我错过了一些基本的东西):
- 没有关于如何进行构建的说明。我在上面引用的 URL 中有几个 Makefile,但是当我尝试直接制作时它们无法构建:
$make -f 生成文件
Makefile:14: *** 缺少分隔符。停止。
- 我怀疑可供下载的源代码不完整。从 Apple 没有透露所有更改的意义上说并不完整,但从某种意义上说是不完整的,因为有些源文件(可能)没有被 Apple 修改,因此不包含在集合中。例如,我没有看到“open”调用的实现(在 gnu libc 层次结构中,它在 io/open.c 中可用)
谷歌搜索后我能找到的最接近的参考是:http: //www.projectosx.com/forum/index.php? showtopic =1922&st=0&p=12457&#entry12457但它仍然不够接近我的口味!
任何指针?
谢谢!
c++ - 如何引用 dylib?
我有一个用独立于平台的 C++ 编写的应用程序,它主要是在 Windows 上开发的。我现在正试图在 Mac 上启动并运行它,但我似乎迷失了如何链接到我正在使用的第三方库的 Mac 版本。我将库的 include 和 lib 文件夹分别添加到头文件和库搜索路径中,它编译/链接,但在运行时会出现以下问题:
dyld: Library not loaded: @executable_path/../Frameworks/libsfml-system-d.2.dylib
Referenced from: /Users/jdoe/Library/Developer/Xcode/DerivedData/Foobar-fonhiddwdwvgqygcegiffqkontxi/Build/Products/Debug/Foobar.app/Contents/MacOS/Foobar
Reason: image not found
我可以通过将 dylib 放入 /usr/lib 来运行它,但我认为这不是分发的好主意。如何在我的应用程序包中包含 dylib?
xcode - Xcode 4:由于 iPad 模拟器的 dylib 错误,无法使用 Enable Guard Malloc
在 Xcode 4.x 中,我将运行方案编辑为“启用 Guard Malloc”,因为我有一个无法描述的 malloc 错误,我需要追踪。我知道我需要在模拟器中运行才能使用此功能。但是,当我这样做时,应用程序会立即冻结,并且 Xcode 会向我显示一个堆栈跟踪,如下所示:
我已经四处搜索以找到解决方案,但到目前为止还没有任何乐趣。据其他地方报道,我应该在我的方案中设置一个环境变量:
然而这并不能解决问题。我也尝试过将“lsystem”作为值,但这也不起作用。
任何人都可以提出解决这个 dylib 问题的方法,或者推荐一个替代“启用 Guard Malloc”的方法来确定超出 malloc 堆区域的位置吗?
更新
为了澄清,这是我正在处理的错误类型:
我试过设置一个符号断点malloc_error_break
,但是它仍然会在内存问题时“随机”中断,而不是在超出分配区域的时候。
objective-c - ld: 找不到 -lz.1.2.3 的库
尝试为 iOS 5 编译软件时,XCode 4.2 抛出错误:
我发现这篇文章告诉我替换 1.2.3。与 1.2.5
https://github.com/dbloete/ioctocat/issues/107
完成链接建议的操作后,它适用于 XCode 4.2,但对于旧版本的 XCode 失败并出现错误
有没有人遇到过上述情况?我该如何解决这个问题,以便它不会在不同版本的 SDK 之间失败?
c++ - 在 OS X 中创建和使用动态库
我们有一个用 C++ 编写的 Windows 应用程序,我们正在尝试将其中的一部分移植到 Mac OS X。我们的目标是将业务逻辑包装到一些库中,并在顶部为控制器和 GUI 构建一个 Cocoa 层。我们可能会有几个较小的应用程序使用相同的库,所以我们的第一个想法是为 C++ 代码使用动态库(除非有更好的方法)。但是,我们在实现这一目标时遇到了一些问题。我们的动态库符合要求(至少看起来是这样),并且我们得到了一个 .dylib 文件,我们在我们的应用程序中链接到该文件。问题是我们的应用程序根本找不到我们试图包含的任何 .h 文件。我们已经检查了 .h 文件是否正在导出,并检查了安装名称并确保库位于正确的目录中。此外,我们还关注了 Apple'
我的问题分为两部分:
- 是否有一些我们可能遗漏的明显步骤有助于公开我们应该先尝试的接口(即 .h 文件)?
- 我们确实怀疑问题可能出在我们在这个项目中继承的糟糕的 C++ 代码中。例如,有很多逻辑(方法的实现)直接写在 .h 文件中,在某些情况下甚至根本没有对应的 .cpp 文件。所以 .h 文件不仅仅是接口的描述。这可能不是(严重的)问题,因为我们的应用程序甚至无法从库中找到 .h 文件,它们至少应该存在。我们真的希望我们可以避免重写大量代码,因为需要移植的代码库非常大,而且(和往常一样)截止日期很近。
PS:到目前为止,我们只在 Xcode 4.2 中工作,还没有尝试使用命令行工具。
objective-c - 无法在 OSX 上从 64 位进程加载 32 位 dylib,反之亦然?
昨天我遇到了一个问题,我的程序作为 32 位进程失败。
我有一个 dylib 编译为 64 位,我在 64 位应用程序上使用它。但是当我把它变成 32 位进行测试并尝试加载它时,它没有工作。dlopen() 返回 NULL?
对于 32 位和 64 位二进制文件,我是否需要分别拥有 32 位和 64 位 dylib?有什么解决办法吗?
python - 在 OSX 上安装 TkTreectrl
我安装了 TkTreeCtrl 2.4.1(用 c 编写)和 TkTreectrl 1.0(用 python 编写),它包装了原始的 c 库。
当我尝试在 Python 中创建任何 treectrl 对象时,出现错误:
我对 Python 很陌生,但我猜 Python 包装器代码找不到 c 库。
当我安装 TkTreeCtrl(c) 时,它以 .dylib 文件的形式安装在 '/usr/lib/treectrl2.4.1' 中。
我以前从未使用过 .dylib,但一些谷歌搜索告诉我将它所在的目录添加到环境变量“DYLD_LIBRARY_PATH”中。
我做到了,但没有运气。我不确定我什至知道我的问题是什么,所以任何帮助将不胜感激!
我正在运行 Lion 和 Python 2.7。Python 是使用 MacPorts 安装的。