Abh*_*bhi 5 c c++ windows qt mingw
我正在尝试使用 MingW 在 Windows 上用 c++ Qt 编写崩溃报告。我参考了https://spin.atomicobject.com/2013/01/13/exceptions-stack-traces-c/ \n但是我的代码无法编译并给出以下错误 - \n我在 Windows 10 上使用此代码Qt 5.4.0 mingw。我在编译此代码时遇到一些错误。\n错误:对_imp__SymInitialize@12\xe2\x80\xb2\nerror: undefined reference to_imp__SymGetModuleBase@8\xe2\x80\xb2\n 的未定义引用_imp__SymFunctionTableAccess@8\xe2\x80\xb2\nerror: undefined reference to_imp__StackWalk@36\xe2\x80\xb2\n 的未定义引用错误:对 `_imp__SymCleanup@ 的未定义引用4\xe2\x80\xb2
这些错误来自以下代码。
\n\nvoid windows_print_stacktrace(CONTEXT* context)\n{\n SymInitialize(GetCurrentProcess(), 0, true);\n\n STACKFRAME frame = { 0 };\n\n /* setup initial stack frame */\n frame.AddrPC.Offset = context->Eip;\n frame.AddrPC.Mode = AddrModeFlat;\n frame.AddrStack.Offset = context->Esp;\n frame.AddrStack.Mode = AddrModeFlat;\n frame.AddrFrame.Offset = context->Ebp;\n frame.AddrFrame.Mode = AddrModeFlat;\n\n while (StackWalk(IMAGE_FILE_MACHINE_I386 ,\n GetCurrentProcess(),\n GetCurrentThread(),\n &frame,\n context,\n 0,\n SymFunctionTableAccess,\n SymGetModuleBase,\n 0 ) )\n {\n addr2line(icky_global_program_name, (void*)frame.AddrPC.Offset);\n }\n\n SymCleanup( GetCurrentProcess() );\n}\nRun Code Online (Sandbox Code Playgroud)\n\nimagehlp.dll 负责上述功能。\n有人可以告诉我如何解决此类错误。
\n\n提前致谢。
\n看起来好像您没有将imagehlp.lib导入库添加到您的构建中?即,将其添加到其他平台库的列表中。如果您必须添加包含路径,那么您可能会在同级目录中<imagehlp.h>找到。imagehlp.lib
| 归档时间: |
|
| 查看次数: |
1338 次 |
| 最近记录: |