标签: dylib

dyld:库未加载...原因:图像未加载

尝试运行我在Mac OS X中发送的可执行文件时,出现以下错误

dyld: Library not loaded: libboost_atomic.dylib
  Referenced from: /Users/"Directory my executable is in"
  Reason: image not found
Trace/BPT trap:5
Run Code Online (Sandbox Code Playgroud)

我已经安装了boost库,它们位于/opt/local/lib.我认为这个问题与可执行文件有关,只查看它所在的目录,就像我在那里粘贴'libboost_atomic.dylib'一样,它不再关心它了.不幸的是,它抱怨它无法找到下一个升级库.

有没有一种简单的方法来解决这个问题?

macos dylib otool dyld install-name-tool

228
推荐指数
13
解决办法
25万
查看次数

为什么Xcode 7显示*.tbd而不是*.dylib?

Xcode 7在Target> BuildPhases> Link Binary With Libraries>点击+按钮

当选择要添加的框架时,你找不到*.dylib,你会看到*.tbd.

这是什么原因?

**对于需要dylib的人,请点击此帖

  1. 选择"添加其他"
  2. 进入文件选择窗口后,执行"CMD"+ Shift + G(转到文件夹)并键入/ usr/lib /
  3. 从/ user/lib可以找到*.dylib文件

xcode dylib ios xcode7

133
推荐指数
3
解决办法
4万
查看次数

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

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

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

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

macos dylib

116
推荐指数
3
解决办法
9万
查看次数

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

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

在Xcode中,我尝试创建一个新项目 - > Framework&Library - > Cocoa Library(动态).在项目设置,我设置了基地SDKiOS device 4.1和目标iOS4.1,但它有一个内置的错误:

target指定产品类型'com.apple.product-type.library.dynamic',但'iphonesimulator'平台没有这样的产品类型".

我选择的构建是模拟器 - >调试 - > i386.

xcode dylib ios

111
推荐指数
2
解决办法
8万
查看次数

Xcode 6和Embedded Frameworks仅在iOS8中受支持

在Xcode 6.0.1中使用嵌入式框架(dyld)时,部署目标小于iOS 8,我得到:

  • 构建成功
  • 运行时库加载错误

错误:

dyld: Library not loaded: @rpath/ObjectiveLyricsTouch2.framework/ObjectiveLyricsTouch2        
Referenced from: /private/var/mobile/Containers/Bundle/Application/DC65ACA9-98E5-46CD-95F8-829D3416F6C0/musiXmatch.app/musiXmatch
Reason: image not found
(lldb) 
Run Code Online (Sandbox Code Playgroud)

objective-c dylib dynamic-library ios8

68
推荐指数
3
解决办法
6万
查看次数

install_name_tool更新可执行文件以在Mac OS X中搜索dylib

我有一个安装在其中的动态libray libtest.dylib /PATH/lib,以及一个使用安装的dylib的执行二进制文件myapp /PATH/bin.

我可以myapp按如下方式运行以找到dylib(在Mac OS X上使用DYLD_LIBRARY_PATH是否可以?并且,使用它的动态库搜索算法是什么?):

DYLD_LIBRARY_PATH="/PATH/lib" myapp 
Run Code Online (Sandbox Code Playgroud)

我想我可以install_name_tool用来更新库和可执行文件,以便可以使用rpath找到库.我在这篇文章中使用了提示 - 如何在dylib中指定rpath?.

在lib中,我执行了这个命令来添加rpath.

install_name_tool -id "@rpath/libtest.dylib" libtest.dylib
install_name_tool -add_rpath "@executable_path/../lib/" libtest.dylib
Run Code Online (Sandbox Code Playgroud)

在bin中,我执行了install_name_tool -add_rpath "@executable_path/../lib/" myapp.

但是,当我myappbin目录中执行时,我有错误消息.

dyld: Library not loaded: libtest.dylib
  Referenced from: /PATH/bin/./myapp
  Reason: image not found
Trace/BPT trap: 5
Run Code Online (Sandbox Code Playgroud)

otool -l myapp 显示rpath在myapp中正确更新.

Load command 16
          cmd LC_RPATH
      cmdsize 40
         path @executable_path/../lib/ (offset 12)
Run Code Online (Sandbox Code Playgroud)

libtest.dylib也是如此

Load command 13
          cmd LC_RPATH
      cmdsize 40
         path …
Run Code Online (Sandbox Code Playgroud)

macos path dylib ld dyld

38
推荐指数
1
解决办法
3万
查看次数

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

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

c++ macos load build dylib

35
推荐指数
4
解决办法
7万
查看次数

Brew医生:dyld:未加载库和错误:没有可用的zlib公式

当我brew doctor收到以下错误时:

dyld: Library not loaded: /usr/lib/libltdl.7.dylib
  Referenced from: /usr/local/bin/php
  Reason: image not found
Error: No available formula for zlib
Run Code Online (Sandbox Code Playgroud)

该文件libltdl.7.dylib不在我的/ usr/lib目录中,但还有其他几个.dylib文件.

我正在运行10.8.1,安装了最新版本的Xcode(4.4.1)及其命令行工具.

知道如何解决这些错误吗?

homebrew zlib dylib dyld

33
推荐指数
4
解决办法
3万
查看次数

如何使用gcc在Mac OS X中从几个.o构建一个dylib

我有几个.o文件,并希望将它们捆绑在.dylib中,我怎么能用Mac OS X使用gcc?非常感谢你.

macos gcc shared-libraries dylib

32
推荐指数
1
解决办法
2万
查看次数

如何使用Xcode创建动态库(dylib)?

我在Xcode中构建了一些命令行实用程序(普通C,没有Cocoa).我希望他们所有人都使用我的自定义版本的libpng,我希望通过在所有可执行文件中共享一个库副本来节省空间(我不介意重新分发.dylib它们).

我是否需要做一些魔术才能获得libpng导出符号?

"Link Binary with Libraries"是否静态构建阶段链接?

Apple的文档提到在运行时加载库dlopen,但是如何让Xcode创建可执行文件而不抱怨缺少符号?


我想我已经弄明白了:

  • libpng没有正确链接,因为我已经构建了32/64位可执行文件和32位库.库和可执行文件的构建设置必须匹配.

  • libpng的config.h需要有大量的定义 #define FEATURE_XXX_SUPPORTED

  • "Link Binary with Libraries"构建阶段处理动态库就好了,DYLD_FALLBACK_LIBRARY_PATH环境变量是.dylib从应用程序包加载s 所必需的.

xcode linker mach-o shared-libraries dylib

28
推荐指数
4
解决办法
6万
查看次数