トランクリビジョン782に基づいて、アプリケーションの移植の一部としてMacOSX用のGoogleBreakpadを構築しようとしています。
Breakpad wikiは、client / mac / Breakpad.xcodeprojをビルドする必要があることを指定しています。これにより、正しく理解していれば、動的にリンクされたlibを含むBreakpad.frameworkが生成されます。Objective-Cアプリケーションからこれを使用する方法に関するサンプルコードもありますが、これはすべて、plistやその他の一部ではないものの使用など、他のプラットフォームでの通常の方法とは大きく異なるようです。私のアプリケーションの。プラットフォーム間で可能な限り同じようなことをしたいと思います。
たとえば、これはFirefoxがBreakpadを使用する方法のようです。
// include exception_handler.h from client/<platform>/handler,
// using ... here for brevity
#include "... exception_handler.h"
...
gExceptionHandler = new google_breakpad::
ExceptionHandler(tempPath.get(),
nsnull,
MinidumpCallback,
nsnull,
#if defined(XP_WIN32)
google_breakpad::ExceptionHandler::HANDLER_ALL);
#else
true);
#endif
私のプロジェクトでは、同じことを行っており、exception_handler.lib
Windows上でリンクしているだけです。Linuxでは、Breakpadlibbreakpad_client.a
は同じ方法でリンクできる対応するものを生成するようですが、MacOSXではそうではありません。
./configure
make
ブレークパッドのルートディレクトリから、libbreakpad.a
例外ハンドラを含まないaが生成され、ビルドされるべきではないlibbreakpad_client.aが生成されます。私は、Breakpadを使用する通常の方法と、Macで外部ライブラリを構築するための通常の手順の両方について、ほとんど何でも誤解している可能性があります。
libbreakpad_client.a
Mac OS Xでビルドするにはどうすればよいですか?