2012-05-04 7 views
1

xcodeなしで標準のQtツールチェーンを使用してMacOS上にGoogle Breakpadを構築するのは誰ですか?Qt、Googleブレイクパッド、MacOS

私はこのライブラリーを今から2日間は取得しようとしていますが、まだ成功していません。私はすでに正常にコンパイルし、WindowsとLinuxで実行しました。 (オリジナルのGoogle-gitリポジトリから)。

しかし、ライブラリのMacOSのバージョンが libbreakpad_client.a のためのメイクファイルが欠落して例外ハンドラが含まれていません libbreakpad.a を生成しました。

http://screencast.com/t/V0mNiM3kZ

私はhere on a stackoverflowにこの問題について、いくつかのトピックを見つけましたが、更新のmakefileとのアドバイスは私のために動作しませんでした(または私が正しくmakefileをコピーしませんでした)。

また、Mozillaリポジトリ(バージョン10と11ベータ版)から直接アップデート版をダウンロードしようとしました。しかし、私がMozillaのバージョンをコンパイルしようとしたとき、未定義のシンボルには別のエラーがありました(MacではLinuxでも)。

また、AlekSi - breakpad-qtが見つかりましたが、このバージョンもWinとLinuxでのみ正しく動作します。 Macでは、「未知のアーキテクチャ - PDP-11にいますか?」というエラーがあります。

私はコンパイル方法を教えてくれたり、Macで動作させたり、標準makeを使ってMacOSでコンパイルしてQtアプリケーションで使用できるブレークパッドのパック版を送ることができる人に感謝します。

は Ludek

+0

好奇心 - xcodeを使用したくない理由がありますか?私たちは 'xcodebuild'を使ったスクリプトからブレークパッドをコンパイルして、結果のライブラリをQtアプリケーションで使うことができます。 –

+1

私がxcodeを使いたくない主な理由は、私がそれを知らないことです;-)。私はプライマリMS Visual Studio開発者ですので、アプリケーションはVisual Studioを使用して主に開発され、LinuxとMacOSに移植されています。私はすでにgcc、makefiles、そしてLinux環境全体を学ぶので、MacOSでも使ってみたいです。 2番目の理由は、xcodeを使ったコンパイルもうまく動作しないということをどこかで読んだことです。しかし、ある単純なスクリプトでxcodeを使ってコンパイルを行うことができ、その後Qt qmakeシステムで使用されるコンパイルがあれば、私はどんな指針にもうれしいでしょう。ありがとう。 –

+0

ここで使用したスクリプトは次のとおりです: 'xcodebuild -project Breakpad.xcodeproj -configuration release -targetすべてARCHS = x86_64 ONLY_ACTIVE_ARCH = YES CONFIGURATION_BUILD_DIR = ../path/to/shadow/build/dir' –

答えて

2

のAleksiのbreakpad-qtのは3歳、そしてその中にbreakpadソースはOSX上の64ビットをサポートしていません、ありがとうございました。

プロセッサタイプの検出に失敗したため、「未知のアーキテクチャ - あなたはPDP-11にいますか?」という文句があります。

あなたは間違いで彼らのSVNから、または私のbreakpad-qtのフォークからのいずれかより最新breakpadバージョンを、必要とする:あなたにも10.6(MACOSX_DEPLOYMENT_TARGET = 10.6)をサポートする予定がある場合は、あなたが必要とする、今https://github.com/webitup/qt-breakpad

このhttps://github.com/webitup/qt-breakpad/commit/71a9fdedd827e5939ba66bfcc0cd6c1c9fbbc87b使用してソースをbreakpadパッチを適用する( - >私は10.6 PPCをサポートしているとは思わない)

その後:

あなたは明らかにその方法のための良い、直接ソースからコンパイルするために管理し、そう。

代わりに、ブレッドパッドからフレームワークを作成し、qt app/libのフレームワークにリンクしたい場合は、Dave Mateerの提案が道です(そして、彼はクレジットを受ける価値があります)。以下は私のために働いていた:私は唯一の代わりにすべてのターゲットBreakpadを構築しています

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 

注(あなただけのことを必要とするようだ - それは使用可能なフレームワークを作るんが、テストはすべてを使用して私のために失敗していますどちらにしても)。

XCodeを必要としないことに注意してください。コマンドラインビルドツールだけです。あなたのQTプロジェクトにそのフレームワークを使用するためには

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

そして、あなたが設定する必要があります。

は最後に:(!OSX上で)私も更新breakpadのバージョンに対して、それは、少なくともコンパイル持っている私のbreakpad-qtのフォークソース自体の変化の数をプッシュし、それはを行う場合、私はまだないアイデアを持っていませんを正しく処理してください。

私はちょうどそのフォークから始めています。あなたが経験を共有したり、そこにいくつかのことをしたいのであれば、頼んでください。

+0

そして、このhttp://stackoverflow.com/questions/5404636/building-google-breakpad-on-mac-os-xは物事の現在の状態に関するいくつかの情報を持っている:あなたは「単に標準を使用してOSX上breakpadを構築することはできません独自のmakefileを手動でビルドしてa/dylibライブラリを作成しない限り、 –

+0

FWIW私はいくつかの詳細なノートをここに入れます:http://tech.roxee.tv/?p=25 - これは元の質問の範囲外かもしれません。 ... –

+0

こんにちはみんな、リンクが死んでいますそこには:https://github.com/roxee/qt-breakpad(移動) - これは3歳の情報です...今でも助けてくれれば幸いですが、おそらく多くの変更があります。 – zmo