【问题标题】:w64-Mingw LLVMSupport.a : undefined reference to __imp_*w64-Mingw LLVMSupport.a:对 __imp_* 的未定义引用
【发布时间】:2014-10-16 13:14:44
【问题描述】:

试图将某些东西链接到 LLVMSupport 的非常奇怪的错误:

C:/projects/builds/LLVM-3.3/lib/../lib/libLLVMsupport.a(Signals.cpp.obj):Signals.cpp:(.text+0x524): undefined reference to `__imp_SymSetOptions'
C:/projects/builds/LLVM-3.3/lib/../lib/libLLVMsupport.a(Signals.cpp.obj):Signals.cpp:(.text+0x542): undefined reference to `__imp_SymInitialize'
C:/projects/builds/LLVM-3.3/lib/../lib/libLLVMsupport.a(Signals.cpp.obj):Signals.cpp:(.text+0x576): undefined reference to `__imp_SymGetModuleBase64'
C:/projects/builds/LLVM-3.3/lib/../lib/libLLVMsupport.a(Signals.cpp.obj):Signals.cpp:(.text+0x582): undefined reference to `__imp_SymFunctionTableAccess64'
C:/projects/builds/LLVM-3.3/lib/../lib/libLLVMsupport.a(Signals.cpp.obj):Signals.cpp:(.text+0x5a1): undefined reference to `__imp_StackWalk64'
C:/projects/builds/LLVM-3.3/lib/../lib/libLLVMsupport.a(Signals.cpp.obj):Signals.cpp:(.text+0x644): undefined reference to `__imp_SymGetModuleBase64'
C:/projects/builds/LLVM-3.3/lib/../lib/libLLVMsupport.a(Signals.cpp.obj):Signals.cpp:(.text+0x6f4): undefined reference to `__imp_SymGetSymFromAddr64'
C:/projects/builds/LLVM-3.3/lib/../lib/libLLVMsupport.a(Signals.cpp.obj):Signals.cpp:(.text+0x7d9): undefined reference to `__imp_SymGetLineFromAddr64'

dbghelp.dll 中有类似名称的函数 http://msdn.microsoft.com/en-us/library/windows/desktop/ms681327%28v=vs.85%29.aspx

但是链接到这个库并不能修复它。

我一直在处理这个问题......如何解决它?

注意: 我已经用 64 位的 cmake + mingw64 编译了带有 SEH 的 llvm,并带有一个补丁来强制进行正确的 EH 方法测试。

那我找不到这些符号用在什么地方了……

【问题讨论】:

    标签: linker static-libraries llvm


    【解决方案1】:

    MinGW 有自己的实现,只是在命令的末尾(顺序很重要)添加 -limagehlp

    【讨论】:

      猜你喜欢
      • 2017-02-14
      • 2019-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多