如何使用MSVCRTD.lib解决未解决的外部符号错误

时间:2017-03-01 14:11:09

标签: c++ visual-studio linker unresolved-external

我有一个C ++ Visual Studio DLL项目,它有一个链接错误:

  

MSVCRTD.lib(tncleanup.obj):错误LNK2019:未解析的外部符号__imp__InitializeSListHead @ 4在函数&#34中引用; void __cdecl __scrt_initialize_type_info(void)" (?__ scrt_initialize_type_info @@ YAXXZ)

我将项目属性,链接器,常规,显示进度设置为"对于搜索的库#34;验证是否正在引用正确版本的MSVCRTD.lib。

1 个答案:

答案 0 :(得分:0)

  1. 查找未解析的外部符号: InitializeSListHead 以查找其定义的库:
  2. https://msdn.microsoft.com/en-us/library/windows/desktop/ms683482(v=vs.85).aspx

    KERNEL32.LIB

    1. 在Visual Studio中,将项目属性,链接器,常规,显示进度设置为“对于搜索的库(/ VERBOSE:Lib)"

    2. 启动构建并检查输出以查看"搜索库"引用" Kernel32.lib"。

    3. 在我的情况下,我发现另一个Kernel32.lib被错误引用。