2014-10-16 73 views
1

很奇怪的错误尝试的东西链接到LLVMSupport:W64-MinGW的LLVMSupport.a:未定义参考__imp_ *

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

但链接到这个lib不解决它。

我一直在这个问题一段时间......如何解决它?

注: 我用cmake + mingw64编译了64位SEH的补丁程序,强制进行正确的EH方法测试。

然后我找不到在哪里使用这些符号...

回答

2

的MinGW本身自带的实现,只是在命令结束(顺序事项)添加-limagehlp