gpt4 book ai didi

c++ - 如何使用未解析的引用符号显示函数名称

转载 作者:行者123 更新时间:2023-11-28 01:48:34 31 4
gpt4 key购买 nike

This question显示链接器显示错误,指示带有引用符号的函数:

v8_libbase.lib(platform-win32.obj) : error LNK2019: unresolvedexternal symbol __imp_timeGetTime
referenced in function
"public: void__cdecl v8::base::Win32Time::SetToCurrentTime(void)" (?SetToCurrentTime@Win32Time@base@v8@@QEAAXXZ)

v8_libbase.lib(time.obj) : error LNK2001: unresolved external symbol__imp_timeGetTime

但是我使用的 Visual Studio 2015 中的错误不包含 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 ==========

最佳答案

您不需要缺少的部分来诊断和修复这些错误。当您在代码中调用一个函数(或引用一个变量,但这并不常见)时,链接器无法在它链接在一起的所有目标文件和库文件中找到定义,就会发生这些错误。例如,如果您的函数 A 调用外部函数 B,而 B 丢失,则链接器会发出此错误消息“未解析的外部符号 B”。

在这些情况下,A(您所说的错误报告中缺少的内容)通常是完全不相关的(除非您想首先弄清楚为什么要调用 B .)

首先,在大多数情况下,这些错误意味着您的构建中缺少库(或源文件)。

如果您完全不知道缺少的库是什么,请开始逐字搜索符号名称,例如__imp_StackWalk64__imp_SymSetOptions

如果你多一点经验,你会发现这些都是Win32函数,它们的通用名称是timeGetTimeStackWalk64等。

然后只需在 MSDN 中找到这些名称并滚动到页面底部以查看这些缺失函数的相应库即可。

例如,我相信在这种特殊情况下,您无法链接到 winmm.libdbghelp.libshlwapi.lib(至少。)

关于c++ - 如何使用未解析的引用符号显示函数名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43885922/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com