当我尝试在另一台机器上部署我的应用程序时,它会因dyld
/unresolved symbol 错误而失败。(Qt 静态发布版本,顺便说一句。)当我放入libstdc++
捆绑包(连同libSystem.B
and libobjc.A
)并install_name_tool
正确运行时,对于这些库所依赖的库,我会收到新的链接器错误。例如,libc++.1
。我真的希望我不必手动遍历并install_name_tool
在每个库及其子库上运行。(或者写我自己的脚本,我不知道该怎么做。)有没有更好的方法?这对(一个,两个)问题基本上是在这个问题之后,但没有达到我所做的那样,并且无论如何都没有得到解决。
这是我所在的地方otool
:
$otool -L my_app
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices(兼容版本 1.0.0,当前版本 41.0.0) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation(兼容版本 150.0. 0,当前版本 635.21.0)/System/Library/Frameworks/Security.framework/Versions/A/Security(兼容版本 1.0.0,当前版本 55148.6.0)/System/Library/Frameworks/Carbon.framework/Versions/ A/Carbon(兼容版本 2.0.0,当前版本 153.0.0)/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit(兼容版本 45.0.0,当前版本 1138.51.0)@executable_path/libz。 1.dylib(兼容版本1.0.0,当前版本1.2.5)@executable_path//libstdc++.6.dylib(兼容版本7.0.0,当前版本7.17.0) /usr/lib/libgcc_s.1.dylib(兼容版本1.0.0,当前版本1094.0.0)/opt/local/lib/gcc47/libgcc_s.1.dylib(兼容版本1.0.0,当前版本1.0。 0)@executable_path/libSystem.B.dylib(兼容版本 1.0.0,当前版本 159.1.0)@executable_path/libobjc.A.dylib(兼容版本 1.0.0,当前版本 228.0.0)/System/Library/Frameworks /CoreServices.framework/Versions/A/CoreServices(兼容版本 1.0.0,当前版本 53.0.0) /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation(兼容版本 300.0.0,当前版本 833.25。 0)dylib(兼容版本 1.0.0,当前版本 159.1.0)@executable_path/libobjc.A.dylib(兼容版本 1.0.0,当前版本 228.0.0)/System/Library/Frameworks/CoreServices.framework/Versions/A/ CoreServices(兼容版本 1.0.0,当前版本 53.0.0)/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation(兼容版本 300.0.0,当前版本 833.25.0)dylib(兼容版本 1.0.0,当前版本 159.1.0)@executable_path/libobjc.A.dylib(兼容版本 1.0.0,当前版本 228.0.0)/System/Library/Frameworks/CoreServices.framework/Versions/A/ CoreServices(兼容版本 1.0.0,当前版本 53.0.0)/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation(兼容版本 300.0.0,当前版本 833.25.0)
编辑:这是我收到的初始错误消息,在第一轮更改消失后,将替换为类似的消息libc++.1
:
异常类型:EXC_BREAKPOINT (SIGTRAP) 异常代码:0x0000000000000002、0x0000000000000000 线程崩溃:0
Dyld 错误消息:找不到符号:__ZNSt8__detail12__prime_listE 引用自:/Users/nfoley/Downloads/WaveSorter-mac-1.0.1-static/WaveSorter.app/Contents/MacOS/WaveSorter 预期在:/usr/lib/libstdc++.6。 dylib