问题标签 [dyld]

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 投票
0 回答
162 浏览

c++ - 在 OS X 上使用共享库分发 gcc 4.7 程序

我已经在 Mac OS X 10.8 上使用 GCC 4.7 针对一些 C++ 动态库编译了一个命令行工具。在开发系统上,编译器由 MacPorts 安装到/opt/local,库位于/usr/local/lib. 动态库是从源代码与程序一起编译的。(但它们是由构建的cmake,我不想弄乱那个系统。)

当我尝试通过将必要的 dylib 放入可执行文件的目录中来在另一台机器上运行它时DYLD_LIBRARY_PATH,它会抱怨 C++ 标准库中的未定义符号。它似乎试图从/usr/lib/libstdc++.6.dylib.

如何强制系统加载所需的libstdc++

0 投票
1 回答
1097 浏览

android - 这个 dyld: unknown required load command 0x80000022 错误正在杀死我感叹号在这里

我有一个 2.2 mac Core 2 Duo - 我想他们叫我 mac Santa Rosa 什么的。

我在 App Inventor 上度过了过去三个月——在意识到我不能使用 admob 或 Airpush 之后——我决定开始学习 java。

我一直在看 thenewboston 的一组 200 个教程,非常棒!

唯一的问题是,我无法启动模拟器。我认为这与以下事实有关,当它询问我 sdcard 应该容纳多少空间时 - 当我尝试按 enter 时 - 它不会让我继续..

好的,当然,我用谷歌搜索了它。

这就是我发现的。

https://plus.google.com/110164642453700713590/posts/StCNjEywBPU

它给了我这个...

设备 873EF9:~ Tahj182$ sudo xattr -rd com.apple.quarantine android-sdk-macosx/option -r 无法识别

第一种形式列出给定文件上所有 xattr 的名称。第二种形式 (-p) 打印 xattr attr_name 的值。第三种形式 (-w) 将 xattr attr_name 的值设置为 attr_value。第四种形式 (-d) 删除 xattr attr_name。

选项: -h:打印此帮助 -l:打印长格式 (attr_name: attr_value) Device-873EF9:~ Tahj182$

呜呜……我试过这个……

http://xjaphx.wordpress.com/2011/06/26/create-and-use-emulated-sd-card/

我明白了..

设备 873EF9:~ Tahj182$ /Users/Tahj182/Downloads/adt-bundle-mac-x86_64\ 2/sdk/tools/mksdcard ;出口; dyld:未知所需的加载命令 0x80000022 跟踪/BPT 陷阱注销

[处理完成]

好的,所以在我的日食中..我的 avd 经理不会启动

我可以继续前进,展示我的谷歌解决方案如何让我无处可去..

你们能帮我吗?

:-)

0 投票
1 回答
6692 浏览

c++ - OSX 10.7.5 上的 node-gyp -- dyld:惰性符号绑定失败:未找到符号

我已经搜索了很多,我发现最接近同一个问题的是这个(也未回答的)问题:

未找到符号:_libintl_gettext

我正在尝试为 libpuzzle 制作一个精简的 c++ 包装器。

github上的源代码

尝试构建(我已经用...缩短了路径)

好的,所以这个错误对我来说很有意义,显然它无法加载动态库。

起初我认为我必须调整我binding.gyp的以包含链接器设置,所以我尝试了几种不同的配置。目前这是它的样子:

我在这里有库:

我只是不知道如何让dyld看到他们。我尝试调整 DYLD_FRAMEWORK_PATH 和 DYLD_FALLBACK_LIBRARY_PATH 无济于事。

更新:otool的输出

otool -l build/Release/puzzle.node

otool -L build/Release/puzzle.node

0 投票
0 回答
56 浏览

c++ - qt / creator: dyld: 库未加载

可能重复:
在 MAC 上部署 Qt 应用程序

我已经通过 qt creator 编译了我的应用程序的发布版本,它在我的 macbook pro (10.8) 上运行得很好。但是,尝试在我的工作计算机(也是 10.8)上运行相同的应用程序会导致以下运行时错误:

根据我的阅读,听起来我可能需要将整个 Qt 框架包含到我的包中?有没有办法在 .pro 中指定这种行为,或者我需要包含一些命令行编译标志?

0 投票
1 回答
277 浏览

c - 让 dyld 链接到可执行文件本身的函数?

我有一个专门的共享库,在执行可执行文件期间动态加载。这个库提供了函数b()。该函数又调用一个函数a()

a函数是在可执行文件中定义的,而不是库本身,所以我希望能够从库中调用我的一些可执行文件的代码。我已经设法使用该-undefined dynamic_lookup标志使 clang 将这些符号保留为惰性绑定,但是当我尝试运行可执行文件时 dyld 仍然抱怨:

我怎样才能得到这个符号链接?

0 投票
1 回答
1838 浏览

ios - 使用 LC_LOAD_DYLIB 加载的动态库插入 C 函数

首先,我想做的是拦截iOS应用程序的任意标准C函数(如fopen、read、write、malloc等)。

我有一个带有以下代码的 libtest.dylib:

编译完 dylib 后,我转到主机 iOS 应用程序的二进制文件并将 LC_LOAD_DYLIB 添加到 LC_LOAD_COMMANDS 列表的末尾并将其指向 @executable_path/libtest.dylib

我期望它会覆盖 fopen 的实现,并在调用 fopen 时打印“vg_fopen”。但是,我不明白,所以插入可能失败了。

我想知道可能是什么原因。这仅用于内部开发,仅用于学习目的,因此请不要提及影响或警告我不当使用。

提前致谢。

0 投票
1 回答
15457 浏览

xcode - 如何在 Xcode 中设置 dyld_library_path

我是 Xcode 和 Mac 环境的新手。我正在使用一些动态和静态库,如 boost、Clucene 等。我有所有的库

MyApp.app/内容/资源

我想将此路径设置为应用程序的 dyld_library_path。我尝试编辑 XXX.plist 文件,例如

DYLD_LIBRARY_PATH /mypath/xxx

并在 Xcode 中设置环境变量和参数无效。

但是如果我运行如下所示的 shell 脚本而不双击 .dmg 中的应用程序,它就可以工作

我确信这不是正确的方法。每次执行我的应用程序时是否有正确的方法来设置 dyld_library_path ?

编辑:如果您手动将所有库复制到客户端 /usr/lib 路径,它也可以工作......我想这也不是正确的方法。

0 投票
1 回答
5612 浏览

xcode - Xcode:将全新框架链接到全新应用程序失败并显示“找不到图像”

我对 Xcode 和 Objective-C 完全陌生,但在其他方面我是经验丰富的(网络)程序员。我想创建一个包含自制框架的应用程序。

现在我已经阅读了相当多的内容,我想我已经合理地掌握了 OS X 如何在运行时解决依赖关系,以及@rpath、@executable_path 和@loader_path 的作用。

我做了以下创建框架:

  1. 创建名为 Test 的新 Cocoa 框架。
  2. 将安装目录设置为“@rpath”。
  3. 将“Test.h”添加到公共标头。
  4. 点击运行。
  5. 右键单击“产品”下的 Test.framework,选择在 Finder 中显示。它是项目“Debug”目录中一个名为“Test.framework”的目录。它似乎有合理的内容(Versions/A 目录和指向“Headers”、“Resources”和“Test”二进制文件的符号链接)

我执行以下操作来创建应用程序:

  1. 创建名为“TestApp”的新 Cocoa 应用程序。
  2. 将测试框架添加到项目中。选择“将文件添加到项目”。从Test框架项目的“Release”目录中选择“Test.framework”目录。选中“将项目复制到目标组的文件夹”离开“为​​任何添加的文件夹创建组”。在。
  3. 确保将框架文件复制到应用程序包。选择“添加构建阶段”->“添加复制文件”将 Test.framework 文件夹(或组?)从侧边栏中拖到复制文件区域。
  4. 添加一个名为“@executable_path/../Frameworks”的额外“框架搜索路径”

当我选择运行时,我在构建过程中收到以下警告:

构建目标TestApp

ld /Users/meryn/Library/Developer/Xcode/DerivedData/TestApp-ajwvknoonliuqqfaqxacxrmapyfz/Build/Products/Debug/TestApp.app/Contents/MacOS/TestApp normal x86_64 cd /Users/meryn/Work/test-app/TestApp setenv MACOSX_DEPLOYMENT_TARGET 10.8 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10 .8.sdk -L/Users/meryn/Library/Developer/Xcode/DerivedData/TestApp-ajwvknoonliuqqfaqxacxrmapyfz/Build/Products/Debug -F/Users/meryn/Library/Developer/Xcode/DerivedData/TestApp-ajwvknoonliuqqfaqxacxrmapyfz/Build/Products /Debug -F/Users/meryn/Work/test-app/TestApp "-F@executable_path/../Frameworks"-filelist /Users/meryn/Library/Developer/Xcode/DerivedData/TestApp-ajwvknoonliuqqfaqxacxrmapyfz/Build/Intermediates/TestApp.build/Debug/TestApp.build/Objects-normal/x86_64/TestApp.LinkFileList -mmacosx-version-min=10.8 -fobjc-arc -fobjc-link-runtime -framework Cocoa -framework Test -o /Users/meryn/Library/Developer/Xcode/DerivedData/TestApp-ajwvknoonliuqqfaqxacxrmapyfz/Build/Products/Debug/TestApp.app/Contents/MacOS/TestApp

ld:警告:找不到选项“-F@executable_path/../Frameworks”的目录

我可以想象这个警告是意料之中的,因为 Ld 可能根本不知道“@executable_path”。它是否正确?

随后,运行应用程序失败并显示:

dyld:库未加载:@rpath/Test.framework/Versions/A/Test 引用自:/Users/meryn/Library/Developer/Xcode/DerivedData/TestApp-ajwvknoonliuqqfaqxacxrmapyfz/Build/Products/Debug/TestApp.app/Contents/ MacOS/TestApp 原因:找不到图像

奇怪的是,TestApp.app 包确实包含一个 Frameworks 目录,其中包含 Test.framework 目录。鉴于我对 OS X 如何搜索依赖项的了解,我认为我添加的搜索路径应该可以很好地解决。

这是在 XCode 4.6、OS X 10.8 上。

otool -L TestApp

测试应用:

/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa(兼容版本1.0.0,当前版本19.0.0)

@rpath/Test.framework/Versions/A/Test(兼容版本 1.0.0,当前版本 1.0.0)

/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation(兼容版本300.0.0,当前版本945.11.0)

/usr/lib/libobjc.A.dylib(兼容版本 1.0.0,当前版本 228.0.0)

/usr/lib/libSystem.B.dylib(兼容版本 1.0.0,当前版本 169.3.0)

/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit(兼容版本45.0.0,当前版本1187.33.0)

可以在这里看到“@rpath”未扩展吗?

我究竟做错了什么?

0 投票
1 回答
690 浏览

objective-c - NSTask 子进程卡在 _dyld_start

我使用NSTask来运行我的助手应用程序。在 99% 的一个我的客户系统上,这工作正常,但有两个回复我,让我知道它没有。其中一个很好,可以让我查看每个远程桌面的问题。

我为 StandardOutput/StandardError 尝试了很多不同的NSPipe/NSFileHandle组合,以确保问题与填充这些缓冲区无关。示例12。我的猜测是它不相关,因为它在很多系统上都可以正常工作,并且 _dyld_start 在应用程序生命周期中太早而无法填充 StandardOutput/StandardError。

关于该问题的其他说明:

  • 从终端启动帮助应用程序工作正常。
  • 在卡住的进程上附加和分离 gdb 并且事后价值它工作正常,当它完成时NSTask在-waitUntilExit之后开始工作。
  • 使用fork(2)execv(3)而不是NSTask能够很好地启动和运行帮助程序。
  • 父进程是沙盒的,但我认为以前的报告在 Mac OS X 10.6/10.7 上是非沙盒的。

来自活动监视器的流程示例的屏幕截图:

活动监视器

欢迎提供任何线索或调试提示来找出帮助程序卡在 _dyld_start 中的原因!

0 投票
1 回答
276 浏览

libpng - Capybara-webkit QtGui 需要 29.0.0 或更高版本

嗨,我正在尝试对 capybara-webkit 进行一些基本的处理。当我尝试包含 Capybara::DSL 时,出现以下错误

dyld:库未加载:/usr/local/lib/libpng15.15.dylib
引用自:/usr/local/lib/QtGui.framework/Versions/4/QtGui
原因:库版本不兼容:QtGui 需要版本 29.0.0 或稍后,但 libpng15.15.dylib 提供版本 21.0.0 /Users/brian/.rvm/gems/ruby-1.9.3-p374@rails3211/gems/capybara-webkit-0.14.2/lib/capybara/webkit/connection .rb:95:in `initialize': 无法分配请求的地址 - connect(2) (Errno::EADDRNOTAVAIL)

任何人都可以帮忙吗?使困惑。谢谢