致命错误LNK1169

fatal error LNK1169

本文关键字:LNK1169 致命错误      更新时间:2023-10-16

弹出以下错误列表。如果这发生在发布版本上,我也无所谓。

这是相当令人惊讶的,它发生在DEBUG版本

1> libcmt.lib(dbheap .obj): error LNK2005: malloc已经在libcmt.lib(malloc.obj)中定义
1> libcmt.lib(dbheap .obj):错误LNK2005: _heap_alloc已经在libcmt.lib(malloc.obj)中定义
1> libcmt.lib(dbheap .obj):错误LNK2005: calloc已在libcmt.lib(calloc.obj)中定义
1> libcmt.lib(dbheap .obj):错误LNK2005: realloc已在libcmt.lib(realloc.obj)中定义
1> libcmt.lib(dbheap .obj):错误LNK2005: _recalloc已经在libcmt.lib(realloc.obj)中定义
1> libcmt.lib(dbheap .obj):错误LNK2005: _expand已经在libcmt.lib(expand.obj)中定义
1> libcmt.lib(dbgheap.obj): error LNK2005: free已经在libcmt.lib(free.obj)中定义
1> libcmt.lib(dbheap .obj):错误LNK2005: _msize已经在libcmt.lib(msize.obj)中定义
1> libcmt.lib(dbgheap.obj):错误LNK2005: _aligned_malloc已在libcmt.lib(align.obj)中定义
1> libcmt.lib(dbgheap.obj):错误LNK2005: _aligned_realloc已在libcmt.lib(align.obj)中定义
1> libcmt.lib(dbgheap.obj):错误LNK2005: _aligned_recalloc已在libcmt.lib(align.obj)中定义
1> libcmt.lib(dbgheap.obj):错误LNK2005: _aligned_offset_malloc已在libcmt.lib(align.obj)中定义
1> libcmt.lib(dbgheap.obj):错误LNK2005: _aligned_offset_realloc已在libcmt.lib(align.obj)中定义
1> libcmt.lib(dbgheap.obj):错误LNK2005: _aligned_offset_recalloc已在libcmt.lib(align.obj)中定义
1> libcmt.lib(dbgheap.obj):错误LNK2005: _aligned_free已在libcmt.lib(align.obj)中定义
1> libcmt.lib(dbgheap.obj):错误LNK2005: _aligned_msize已在libcmt.lib(align.obj)中定义
1> libcmt.lib(dbghook.obj):错误LNK2005: __crt_debugger_hook已在libcmt.lib(dbghook.obj)中定义
1> libcmt.lib(isctype.obj): error LNK2005: _isctype_l已经在libcmt.lib(isctype.obj)中定义
1> libcmt.lib(isctype.obj):错误LNK2005: _isctype已经在libcmt.lib(isctype.obj)中定义

看起来你链接到调试运行时以及发布运行时-可能你有一个发布构建静态链接到调试库或反之亦然。

  • 如果您的应用程序使用任何LIB s或DLL s,它们中的任何一个都与运行时程序集静态链接。这就是链接错误的原因。
  • 运行时程序集静态喜欢不是推荐的方法

  • 但是如果你需要摆脱这个链接错误,这里你去,right-click on project file in project explorer -> properties -> configuration properties -> linker -> Input -> Ignore Specific Library ->添加libcmtd.lib

相关文章: