我正在尝试构建 Google Breakpad 以便将一个应用程序移植到 Mac OS X,基于主干版本 782。
The Breakpad wiki 指定了应该构建 client/mac/Breakpad.xcodeproj,这将生成一个包括动态链接 lib 的 Breakpad.framework,如果我理解正确的话。也有关于如何从 Objective-C 应用程序中使用它的示例代码,但所有这些似乎与其他平台上的常规操作方式非常不同,包括使用 plists 和其他不属于我的应用程序的东西。我更愿意在各个平台之间尽可能地保持相似。
例如,this 似乎是 Firefox 使用 Breakpad 的方式:
在我的项目中,我们正在做同样的事情,并且在Windows上只链接
从breakpad根目录生成一个不包含异常处理程序的libbreakpad.a,而应该构建的libbreakpad_client.a未被构建。我可能对使用Breakpad的常规方式以及在Mac上构建外部库的常规程序有所误解,因此任何帮助都将不胜感激。
如何在Mac OS X上构建libbreakpad_client.a?
例如,this 似乎是 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
在我的项目中,我们正在做同样的事情,并且在Windows上只链接
exception_handler.lib
。在Linux上,Breakpad 似乎生成了相应的 libbreakpad_client.a
,可以以同样的方式链接,但在Mac OS X上不行。如果我这样做./configure
make
从breakpad根目录生成一个不包含异常处理程序的libbreakpad.a,而应该构建的libbreakpad_client.a未被构建。我可能对使用Breakpad的常规方式以及在Mac上构建外部库的常规程序有所误解,因此任何帮助都将不胜感激。
如何在Mac OS X上构建libbreakpad_client.a?