【发布时间】:2011-03-23 11:37:42
【问题描述】:
我正在尝试为 Mac OS X 构建Google Breakpad,作为移植应用程序的一部分,基于主干修订版 782。
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,
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?
【问题讨论】:
-
你好 villintehaspam,你能分享一下你在 MacOSX 下可以编译的 breakpad 源代码吗?我有一个类似的问题,但我不知道如何正确使用更新的 makefile ;-(。我在这里有我的问题:stackoverflow.com/questions/10450586/… 谢谢。
标签: c++ macos google-breakpad