2017-05-10 44 views
0

This question顯示功能名稱顯示連接器顯示指示與引用的符號功能錯誤:如何與尚未解決的參考符號

v8_libbase.lib(平臺win32.obj):錯誤LNK2019:無法解析的 外部符號__imp_timeGetTime
在函數引用
「市民:無效 __cdecl V8 ::基地:: Win32Time :: SetToCurrentTime(無效)」(?SetToCurrentTime @ Win32Time @基地@ V8 @@ QEAAXXZ)

v8_libbase.lib(time.obj):錯誤LNK2001:解析外部符號 __imp_timeGetTime

但在Visual Studio 2015年,我使用了不含有referenced in function部分錯誤。有沒有辦法配置一個工作室來顯示referenced in function部分?

這是錯誤的名單,我得到:

1>------ Build started: Project: v8, Configuration: Release x64 ------ 
1> v8.cpp 
1>v8_libbase.lib(platform-win32.obj) : error LNK2001: unresolved external symbol __imp_timeGetTime 
1>v8_libbase.lib(time.obj) : error LNK2001: unresolved external symbol __imp_timeGetTime 
1>v8_libbase.lib(stack_trace_win.obj) : error LNK2001: unresolved external symbol __imp_StackWalk64 
1>v8_libbase.lib(stack_trace_win.obj) : error LNK2001: unresolved external symbol __imp_SymSetOptions 
1>v8_libbase.lib(stack_trace_win.obj) : error LNK2001: unresolved external symbol __imp_SymFunctionTableAccess64 
1>v8_libbase.lib(stack_trace_win.obj) : error LNK2001: unresolved external symbol __imp_SymGetModuleBase64 
1>v8_libbase.lib(stack_trace_win.obj) : error LNK2001: unresolved external symbol __imp_SymGetLineFromAddr64 
1>v8_libbase.lib(stack_trace_win.obj) : error LNK2001: unresolved external symbol __imp_SymInitialize 
1>v8_libbase.lib(stack_trace_win.obj) : error LNK2001: unresolved external symbol __imp_SymGetSearchPathW 
1>v8_libbase.lib(stack_trace_win.obj) : error LNK2001: unresolved external symbol __imp_SymSetSearchPathW 
1>v8_libbase.lib(stack_trace_win.obj) : error LNK2001: unresolved external symbol __imp_SymFromAddr 
1>v8_libbase.lib(stack_trace_win.obj) : error LNK2001: unresolved external symbol __imp_PathRemoveFileSpecW 
1>C:\Users\mkore\Documents\Visual Studio 2015\Projects\v8\x64\Release\v8.exe : fatal error LNK1120: 11 unresolved externals 
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== 
+0

你可以發佈你所得到的完整的錯誤信息鏈接?它可能指的是一個虛擬函數,它不需要被引用。 – Angew

+0

您不需要缺少的部分來診斷或解決此問題。只需鏈接到所需的庫。 – yzt

+0

@yzt,我不知道什麼是所需的庫。這是問題 –

回答

2

你不需要缺少的部分來診斷和修復這些錯誤。當您在代碼中調用函數(或引用變量,但不那麼常見)時,會發生這些錯誤,即鏈接程序無法在它所鏈接的所有對象和庫文件中找到定義。例如,如果函數A調用外部函數B,並且缺少B,則鏈接器會發出此錯誤,指出「未解析的外部符號B」。

在這些情況下,A(這是你說的是從你的錯誤報告失蹤)通常是完全無關(除非你想弄清楚到底爲什麼您呼叫擺在首位B中。)

首先,在大多數情況下,這些錯誤意味着您缺少構建中的庫(或源文件)。

如果您完全不知道缺少的庫是什麼,請使用googling逐字符號名稱(例如, __imp_StackWalk64__imp_SymSetOptions

如果你有一點經驗,你就會意識到,這些都是Win32函數和他們共同的名字是timeGetTimeStackWalk64

然後,它只是成爲一個問題在MSDN中查找這些名稱並滾動到頁面底部以查看相應的庫以查找這些缺失的函數。

例如,我相信在這種特殊情況下,你都沒有用winmm.libdbghelp.lib,並shlwapi.lib(至少)

+0

感謝您的答案,你也可以請看看[相關問題](http://stackoverflow.com/questions/43886316/how-to-build-with-required -dll式 - 窗口10視覺工作室) –