大多数为 Qt 5.3.2 编译的二进制文件都是在没有调试信息的情况下构建的

Most binaries compiled for Qt 5.3.2 are built without debugging info

我正在尝试使用稍后使用 dsymutil 转储的调试信息构建 Qt 5.3.2 的发布版本。

这里是用于构建 Qt 的配置摘要:

Configure summary

Build type:    macx-clang (x86_64, CPU features: cx16 mmx sse sse2 sse3 ssse3)

qmake vars .......... QMAKE_CC = /usr/bin/cc QMAKE_CXX = /usr/bin/c++ QMAKE_CFLAGS = -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -I/usr/include -mmacosx-version-min=10.8 -mssse3 -gdwarf-4 -fslp-vectorize -fvectorize QMAKE_LFLAGS = -L/usr/lib -mmacosx-version-min=10.8 styles += mac fusion windows DEFINES += QT_NO_MTDEV QMAKE_CFLAGS_FONTCONFIG = -I/usr/local/Cellar/fontconfig/2.11.1/include -I/usr/local/Cellar/freetype/2.5.3_1/include/freetype2  QMAKE_LIBS_FONTCONFIG = -L/usr/local/Cellar/fontconfig/2.11.1/lib -L/usr/local/Cellar/freetype/2.5.3_1/lib -lfontconfig -lfreetype  DEFINES += QT_NO_LIBUDEV DEFINES += QT_NO_EVDEV INCLUDEPATH +=  "/usr/include" LIBS +=  -L"/usr/lib" sql-drivers =  sql-plugins =  sqlite qmake switches ......... 

Build options:
  Configuration .......... absolute_library_soname accessibility audio-backend concurrent corewlan fontconfig force_debug_info full-config getaddrinfo getifaddrs harfbuzz iconv ipv6ifname large-config largefile medium-config minimal-config opengl openssl-linked pcre png precompile_header qpa qpa qt_framework reduce_exports release rpath shared small-config sse2 sse3 ssse3 system-freetype system-jpeg system-png system-zlib 
  Build parts ............ libs tools examples
  Mode ................... release (with debug info)
  Using C++11 ............ no
  Using PCH .............. yes
  Target compiler supports:
    SSE2/SSE3/SSSE3 ...... yes/yes/yes
    SSE4.1/SSE4.2 ........ no/no
    AVX/AVX2 ............. no/no

Qt modules and options:
  Qt D-Bus ............... no
  Qt Concurrent .......... yes
  Qt GUI ................. yes
  Qt Widgets ............. yes
  Large File ............. yes
  QML debugging .......... yes
  Use system proxies ..... no

Support enabled for:
  Accessibility .......... yes
  ALSA ................... no
  CUPS ................... no
  Evdev .................. no
  FontConfig ............. yes
  FreeType ............... yes (system library)
  Glib ................... no
  GTK theme .............. no
  HarfBuzz ............... yes
  Iconv .................. yes
  ICU .................... no
  Image formats: 
    GIF .................. yes (plugin, using bundled copy)
    JPEG ................. yes (plugin, using system library)
    PNG .................. yes (in QtGui, using system library)
  journald ............... no
  mtdev .................. no
  Networking: 
    CoreWlan ............. yes
    getaddrinfo .......... yes
    getifaddrs ........... yes
    IPv6 ifname .......... yes
    OpenSSL .............. yes (linked to the libraries)
  NIS .................... no
  OpenGL / OpenVG: 
    EGL .................. no
    OpenGL ............... desktop
    OpenVG ............... no
  PCRE ................... yes (bundled copy)
  pkg-config ............. yes 
  PulseAudio ............. no
  QPA backends: 
    DirectFB ............. no
    EGLFS ................ no
    KMS .................. no
    LinuxFB .............. no
    XCB .................. no
  Session management ..... yes
  SQL drivers: 
    DB2 .................. no
    InterBase ............ no
    MySQL ................ no
    OCI .................. no
    ODBC ................. no
    PostgreSQL ........... no
    SQLite 2 ............. no
    SQLite ............... yes (plugin, using bundled copy)
    TDS .................. no
  udev ................... no
  xkbcommon .............. no
  zlib ................... yes (system library)

然而,大多数构建的二进制文件都缺少调试信息,即 dsymutil 表示没有调试符号。除了 2 个框架:QtCore.framework 和 QtGui.framework.

我使用 dsymutil -o 命令转储调试信息。

已通过添加 -no-strip 标记进行配置。