当我尝试在另一台计算机上部署我的应用程序时,它会因 dyld /未解决的符号错误而失败 . (Qt静态发布版本,顺便说一句 . )当我把 libstdc++ 放在捆绑包中(连同 libSystem.Blibobjc.A )并适当地运行 install_name_tool 时,我会得到新的链接器错误,这些库依赖于这些库所依赖的库 . 例如, libc++.1 . 我必须手动浏览并在每个库及其子节点上运行 install_name_tool . (或者写我自己的脚本,我不知道该怎么做 . )有更好的方法吗?这对(onetwo)问题主要针对这个问题但在任何情况下都没有解决 .

这是我在 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)

Edit: 这是我收到的初始错误消息,在第一轮更改消失后,将被关于 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