406得票41回答
dyld: 库未加载... 原因:找不到图像

当我试图在Mac OS X上运行我收到的可执行文件时,出现以下错误:dyld: Library not loaded: libboost_atomic.dylib Referenced from: /Users/"Directory my executable is in" Reaso...

42得票2回答
为什么在Mac OS X中,Mach-O库需要使用install_name_tool和otool工具?

我正在使用最新版本的 Xcode 4 开发 Cocoa 应用程序,希望将动态库 (dylibs) 链接到我的项目中。 我在某个地方读到,仅将库添加到项目中是不够的,因为我还必须运行 install_name_tool 和 otool,以使我的项目使用打包在项目中的库。 我已阅读了 inst...

33得票1回答
使用install_name_tool出了什么问题?

我试图在构建完成后更改dylib的安装路径。 我使用otool -L检查当前路径。然后我执行以下操作:$ install_name_tool -change /my/current/path/libmine.dylib \ /my/new/path/libmine.dylib libm...

26得票4回答
如何在构建依赖共享库的程序后更改共享库的文件名?

我有一个程序依赖于一个共享库,该程序希望在目录结构的深处找到该库。我想把这个共享库移到更好的位置。在OS X上,可以使用install_name_tool来完成此操作。我找不到Linux的等效工具。 用于参考的readelf -d myprogram命令输出以下类似内容:Dynamic se...

18得票1回答
在链接时更改依赖的共享库安装名称

相关但不回答问题: 如何在构建时修改.dylib的安装名称 在OSX上,我有一个由包管理器提供并安装在非标准目录中的动态库,其install_name仅为文件名。例如:$ ROOT=$PWD $ mkdir $ROOT/foo $ cd $ROOT/foo $ echo 'int f...

13得票3回答
install_name_tool中-change和-id的区别

我已经苦苦思索这个概念一段时间了,但我仍然不能真正理解-change和-id之间的区别。手册上写着: -id name Changes the shared library identification name of a dynamic shared l...

12得票1回答
插件捆绑包中的dylib @executable_path路径问题

我正在开发一个插件包,比如说MyPlugIn.bundle,是为了一个应用程序,比如说BigApp.app。这个包需要一个动态库,比如说MyPlugIn.bundle/Contents/Resources/library.dylib。我已经重新定位了library.dylib的路径,就像我对简...

9得票2回答
安装名称工具报告对象格式错误

每次我尝试在我的机器上使用install_name_tool时,它会报告以下问题: install_name_tool: object: Abacate malformed object (unknown load command 4) 我看到有可能是在构建二进制文件时出现了错误。为了检...

9得票2回答
如何部署依赖动态库的应用程序?

我正在开发一个使用GStreamer库的应用程序。为了方便部署,我想将所有GStreamer库收集到本地捆绑包中。为此,我编写了一个小脚本,执行以下操作: 递归遍历依赖项(使用otool -L) 将所有依赖项复制到本地目录 将所有依赖路径相对于@executable_path设置(使用in...

8得票2回答
如何在构建时修改 .dylib 的安装名称

我正在构建适用于Mac OS X(10.7.1)的C++命令行标志库——google-gflags。构建过程如下: $ ./configure --prefix=output $ make $ make install 我希望在构建时更改生成共享库的安装名称,而不是之后使用instal...