标签: crashpad

将 Crashpad 与 MacOS Qt 应用程序集成

我们的 Qt 应用程序是使用 qmake 构建的。我们已经从这个提交构建了 Crashpad,它目前是 master 的提示。我们已经关联了我们的Qt应用程序libclient.alibbase.alibhandler.alibutil.aSecurity.FrameworkAppKit.Framework并增加相关的包括目录。当我们构建我们的应用程序时,我们从链接器收到以下错误:

    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -stdlib=libc++ -headerpad_max_install_names  -arch x86_64 -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -mmacosx-version-min=10.13 -Wl,-rpath,@executable_path/../Frameworks -Wl,-rpath,/Users/bobby/Qt/5.14.2/clang_64/lib -o myQtCrasher.app/Contents/MacOS/myQtCrasher main.o mainwindow.o qrc_myQtCrasher.o moc_mainwindow.o   -F/Users/bobby/Qt/5.14.2/clang_64/lib -framework Security -L/Users/bobby/Documents/Qt/myQtCrasher/../../../Desktop/bugsplat/crashpad/crashpad/out/Default/obj/client/ -lclient -L/Users/bobby/Documents/Qt/myQtCrasher/../../../Desktop/bugsplat/crashpad/crashpad/out/Default/obj/handler/ -lhandler -L/Users/bobby/Documents/Qt/myQtCrasher/../../../Desktop/bugsplat/crashpad/crashpad/out/Default/obj/minidump/ -lformat -lminidump -L/Users/bobby/Documents/Qt/myQtCrasher/../../../Desktop/bugsplat/crashpad/crashpad/out/Default/obj/snapshot/ -lcontext -lsnapshot -L/Users/bobby/Documents/Qt/myQtCrasher/../../../Desktop/bugsplat/crashpad/crashpad/out/Default/obj/third_party/mini_chromium/mini_chromium/base/ -lbase -L/Users/bobby/Documents/Qt/myQtCrasher/../../../Desktop/bugsplat/crashpad/crashpad/out/Default/obj/util/ -lutil -framework QtWidgets -framework QtGui -framework AppKit -framework Metal -framework QtCore -framework DiskArbitration -framework IOKit -framework OpenGL -framework AGL   
Undefined symbols for architecture x86_64:
  "___MIG_check__Request__child_port_check_in_t", referenced from: …
Run Code Online (Sandbox Code Playgroud)

c++ qt chromium ninja crashpad

5
推荐指数
1
解决办法
223
查看次数

将 Crashpad 与 Windows Qt 应用程序集成

我们正在尝试将 Crashpad 与我们的 Qt 应用程序集成,但遇到了几个错误。我们构建了 Crashpad 并尝试使用.pro文件中的以下片段将其链接到我们的应用程序:

# Crashpad rules for Windows
win32 {
    LIBS += -L$$PWD/Crashpad/Libraries/Windows/ -lbase
    LIBS += -L$$PWD/Crashpad/Libraries/Windows/ -lclient
    LIBS += -L$$PWD/Crashpad/Libraries/Windows/ -lutil
}
Run Code Online (Sandbox Code Playgroud)

在构建时,我们得到了大量类似于以下的链接器错误:

base.lib(base.file_path.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MDd_DynamicDebug' in main.obj
Run Code Online (Sandbox Code Playgroud)

我们看到了这篇文章,并决定使用该/MDd标志构建 Crashpad 。将新库复制到上面使用 Qt 构建的目录中后,出现以下错误:

fatal error C1007: unrecognized flag '-Ot' in 'p2'
Run Code Online (Sandbox Code Playgroud)

为什么 MSVC 会抛出这个错误?我们正在使用 14.0 MSVC 工具集进行构建。

c++ windows qt crashpad

4
推荐指数
1
解决办法
246
查看次数

标签 统计

c++ ×2

crashpad ×2

qt ×2

chromium ×1

ninja ×1

windows ×1