Qt, Google BreakPad and MacOs

Is there anyone here who successfully builds Google Breakpad on MacOS using the standard Qt toolchain without xcode?

I have been trying to get a job in this library for two days and still to no avail. I already successfully compiled it and ran it on Windows and Linux. (from the original Google git repository).

But in the MacOS library version there is no makefile for libbreakpad_client.a , and the generated libbreakpad.a does not contain an exception handler.

http://screencast.com/t/V0mNiM3kZ

I found several topics about this problem in https://stackoverflow.com/a/166269/2127/ , but the recommendations with updated makefiles did not work for me (or I did not copy the makefiles correctly).

I also tried downloading the updated version directly from the Mozilla repository (versions 10 and 11beta). But when I tried to compile the Mozilla version, there were other errors with undefined characters (on Mac, as well as on Linux).

I also found AlekSi - breakpad-qt , but this version also works correctly only under Win and Linux. There are some bugs on the Mac about "Unknown architecture - are you on PDP-11?"

I will be grateful to everyone who can tell me how to compile it and make it work on Mac, or who can send me a packaged version of the crossbar that can be compiled for MacOS using the standard make and used in the Qt application.

Thanks. Ludek

+1
qt macos google-breakpad
source share
1 answer

AlekSi breakpad-qt is three years old, and the front-panel source in it does not support 64 bits in OSX.

The inability to detect your processor type is what makes it complain about the "Unknown Architecture" - are you on the PDP-11? "

You definitely need a newer version of the breakpad, either from their svn, or from my qt fork keychains at: https://github.com/webitup/qt-breakpad

Now, if you intend to support 10.6 (MACOSX_DEPLOYMENT_TARGET = 10.6), you need to fix the source using https://github.com/webitup/qt-breakpad/commit/71a9fdedd827e5939ba66bfcc0cd6c1c9fbbc87b (→ I don't think so 10)

Then:

You apparently managed to compile directly from the source, so good for that.

Now, if you want to create a frame from the crossbar instead and reference it from your qt / lib application, then the Dave Mateer proposal is the way to go (and it deserves credit). The following worked for me:

cd $BREAKPAD_SOURCE_TREE xcodebuild -sdk macosx10.7 -project src/client/mac/Breakpad.xcodeproj -configuration Release -target Breakpad ARCHS=x86_64 ONLY_ACTIVE_ARCH=YES MACOSX_DEPLOYMENT_TARGET=10.6 GCC_VERSION=com.apple.compilers.llvmgcc42 

Please note that I create the target blade instead of All (it seems that you only need it - and the test does not work for me with All, although it creates a usable framework).

And note that you don't need Xcode per-se - only command line tools build.

To use this infrastructure in your QT project:

 mac { QMAKE_LFLAGS += -F$$BREAKPAD_PATH/client/mac/build/Release/ LIBS += -framework Breakpad } 

And you must be installed.

Finally: I also made a few changes to my own forblpad-qt fork source so that it at least compiles (on OSX!) With the updated version of the breakpad, but I still don't know if it works correctly.

I'm just starting with this plug - if you want to share experiences and / or fix some things there, just ask.

+2
source share

All Articles