我想用带有调试符号的可执行文件构建一个 dmg,这样我就可以带到另一台机器上并在那里调试它。如果我将 macdeployqt 与 -use-debug-libs 一起使用,则 dmg 似乎确实有调试符号,我可以在构建它的机器上使用它。
但是当我将 dmg 复制到另一个 mac 时,它会失败:
Library not loaded: @rpath/QtOpenGL.framework/Versions/5/QtOpenGL
Reason: image not found
如果我在没有 -use-debug-libs 的情况下构建 dmg 并将 dmg 复制到另一台机器上,它确实可以工作。这似乎是 macdeployqt 中的一个错误。
更多信息:
它们都引用了相同的库:
@rpath/QtOpenGL.framework/Versions/5/QtOpenGL (compatibility version 5.5.0, current version 5.5.1)
非调试框架目录有这个:
lrwxrwxr-x 1 LarryMartell staff 25 Mar 15 11:00 QtOpenGL -> Versions/Current/QtOpenGL
lrwxrwxr-x 1 LarryMartell staff 26 Mar 15 11:00 Resources -> Versions/Current/Resources
drwxrwxr-x@ 4 LarryMartell staff 136 Mar 15 11:00 Versions
调试器有这个:
lrwxrwxr-x 1 LarryMartell staff 31 Mar 15 10:41 QtOpenGL_debug -> Versions/Current/QtOpenGL_debug
lrwxrwxr-x 1 LarryMartell staff 26 Mar 15 10:41 Resources -> Versions/Current/Resources
drwxrwxr-x@ 4 LarryMartell staff 136 Mar 15 10:41 Versions