dyld:未加载库:libboost_system.dylib
还有一个dyld:未加载库:libboost_system.dylib,boost,xcode4,shared-libraries,dylib,install-name-tool,Boost,Xcode4,Shared Libraries,Dylib,Install Name Tool,还有一个dyld:Library未加载dylib问题 我从Boost源代码编译了一个动态库(libboost\u system.dylib) 然后使用install name tool准备将其包含在我的应用程序包的Frameworks文件夹中,如下所示: install_name_tool -id @executable_path /../Frameworks/ libboost_system.dylib libboost_system.dylib 通过otool验证: $&g
dyld:Library未加载dylib问题
我从Boost源代码编译了一个动态库(libboost\u system.dylib)
然后使用install name tool
准备将其包含在我的应用程序包的Frameworks文件夹中,如下所示:
install_name_tool -id @executable_path
/../Frameworks/
libboost_system.dylib libboost_system.dylib
通过otool
验证:
$> otool -L libboost_system.dylib
/Users/TesterCodeSandbox/OgreSDK
/BOOST_DYLIBS/libboost_system.dylib:
@executable_path/../Frameworks
/libboost_system.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11)
现在已添加到Xcode项目,与应用程序链接并复制到Frameworks文件夹。
但是当用otool-L
检查构建的应用程序时,它仍然是指原始(即“非重新定位”)动态库:
应用程序启动失败,出现“dyld:libboost\u system.dylib”错误。有什么想法吗
注1
现在,如果我也使用安装\u name\u工具
对我的应用程序的二进制文件进行后期处理,那么它就可以运行了,即:
install\u name\u tool-change libboost\u system.dylib@executable\u path/。/Frameworks/libboost\u system.dylib TestApp
我是否缺少一些Xcode选项来强制编译器作为构建的一部分自动更改应用程序中的动态库位置
当然,为使用动态库的应用程序手动调用install\u name\u tool
(即,可能是许多动态库中的一个)可以解决我在配置(应用程序)项目时搞砸的问题
OgreTest-ekeeqmnyciddaxbzyrehtcoijcki/Build
/Products/Debug/OgreTest.app/Contents/MacOS/OgreTest:
@executable_path/../Plugins
/RenderSystem_GL.dylib (compatibility version 0.0.0, current version 1.8.0)
/System/Library/Frameworks/Cocoa.framework/
Versions/A/Cocoa (compatibility version 1.0.0, current version 15.0.0)
@executable_path/../Frameworks/Ogre.framework/
Versions/1.8.0/Ogre (compatibility version 0.0.0, current version 1.8.0)
@executable_path/../Frameworks/Cg.framework
/Cg (compatibility version 0.0.0, current version 0.0.0)
/System/Library/Frameworks/IOKit.framework/Versions/A
/IOKit (compatibility version 1.0.0, current version 275.0.0)
/System/Library/Frameworks/Carbon.framework/Versions/A
/Carbon (compatibility version 2.0.0, current version 152.0.0)
libboost_system.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libstdc++.6.dylib
(compatibility version 7.0.0, current version 7.9.0)
/usr/lib/libSystem.B.dylib
(compatibility version 1.0.0, current version 125.2.11)
/usr/lib/libobjc.A.dylib
(compatibility version 1.0.0, current version 227.0.0)
/System/Library/Frameworks/CoreFoundation.framework
/Versions/A/CoreFoundation
(compatibility version 150.0.0, current version 550.43.0)
/System/Library/Frameworks/AppKit.framework
/Versions/C/AppKit
(compatibility version 45.0.0, current version 1038.36.0)