我正在尝试基于主干版本782为Mac OS X构建
Google Breakpad作为移植应用程序的一部分.
The Breakpad wiki指定应该构建client / mac / Breakpad.xcodeproj,如果我理解正确的话,它会产生一个包含动态链接库的Breakpad.framework.还有关于如何在Objective-C应用程序中使用它的示例代码,但所有这些似乎与在其他平台上执行操作的正常方式非常不同,包括使用plist和其他不属于的东西我的申请我更愿意跨平台做尽可能相似的事情.
例如,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,#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?