链接器工具错误和警告 (LNKxxxx)

链接器工具 LINK、LIB、DUMPBIN 和 EDITBIN 共享生成这些错误和警告的同一可执行文件。 这些工具生成 LNKxxxx 格式的警告,其中 xxxx 是一个四位数字。

重要

Visual Studio 编译器和生成工具可报告多种类型的错误和警告。 发现错误或警告后,生成工具可做出有关代码意向的假设并尝试继续,因此,可能会同时报告更多问题。 如果工具做出错误假设,则后续错误或警告可能不适于你的项目。 纠正项目中的问题时,请始终先纠正报告的第一个错误或警告,然后在通常情况下重新生成。 一个修复程序可以解决多个后续错误。

若要在 Visual Studio 中获取有关特定诊断消息的帮助内容,请在“输出”窗口中选择该消息,然后按 F1 键。 Visual Studio 会打开该错误的文档页(如果存在)。 还可以使用页面顶部的搜索工具查找有关特定错误或警告的文章。 或者,按工具浏览错误和警告列表,并在此页面上的内容列表中键入内容。

注意

并非所有 Visual Studio 错误或警告均有记录。 在许多情况下,诊断消息将提供所有可用信息。 如果登录此页面并认为错误或警告消息需要其他说明,请使用此页面上的反馈按钮告知我们。 如果认为错误或警告是错误的,或者发现了工具集的其他问题,请在开发者社区网站上报告产品问题。 还可以在 IDE 中发送反馈并输入 bug。 在 Visual Studio 中,转到菜单栏并选择 帮助 > 发送反馈 > 报告问题,或使用 帮助 > 发送反馈 > 建议功能提交建议。 创建了一些编译程序错误主题,这些主题不是由编译程序发出的,但现在会重定向到此页面。

可以在 Microsoft Q&A C++ 论坛中找到有关错误和警告的其他帮助。 或者,在 Visual Studio C++ 开发者社区网站上搜索错误或警告编号。 还可以搜索 Stack Overflow 以查找解决方案。

有关指向其他帮助和社区资源的链接,请参阅 Visual C++ 帮助和社区

链接器工具错误

错误 Message
链接器工具错误 LNK1000 未知错误; 请查阅文档以获取技术支持选项
链接器工具错误 LNK1103 调试信息已损坏;重新编译模块
链接器工具错误 LNK1104 无法打开文件“filename
链接器工具错误 LNK1106 无效的文件或磁盘已满:无法查找位置
链接器工具错误 LNK1107 无效或损坏的文件:无法在位置地址读取
链接器工具错误 LNK1112 模块计算机类型“type1”与目标计算机类型“type2”冲突
链接器工具错误 LNK1113 机器类型类型无效
链接器工具错误 LNK1120 未解析的外部符号
链接器工具错误 LNK1123 转换到 COFF 期间失败:文件无效或损坏
链接器工具错误 LNK1127 库已损坏
链接器工具错误 LNK1136 无效或损坏的文件
链接器工具错误 LNK1140 程序数据库的模块过多;请使用/PDB:NONE进行链接
链接器工具错误 LNK1141 在生成导出文件时失败
链接器工具错误 LNK1143 无效或损坏的文件:COMDAT 节号没有符号
链接器工具错误 LNK1152 无法解析一个或多个未装饰的符号
链接器工具错误 LNK1158 无法运行“filename”
链接器工具错误 LNK1164 节区对齐方式 (数字) 大于 /ALIGN 数值
链接器工具错误 LNK1166 无法调整 offset=offset、va=value 的代码
链接器工具错误 LNK1168 无法打开用于写入的文件名
链接器工具错误 LNK1169 找到一个或多个重复定义的符号
链接器工具错误 LNK1170 命令文件中的某一行包含 最大长度 或更多字符
链接器工具错误 LNK1179 无效或损坏的文件:重复的 COMDAT “filename”
链接器工具错误 LNK1181 无法打开名为“filename”的输入文件
链接器工具错误 LNK1188 BADFIXUPSECTION::无效的修复目标“symbol”;可能的零长度节
链接器工具错误 LNK1189 LIBTOOMANYMEMBERS:超出库的对象数目限制
链接器工具错误 LNK1196 无效或损坏的导入对象:未知版本
链接器工具错误 LNK1200 读取程序数据库“filename”时出错
链接器工具错误 LNK1201 写入程序数据库“filename”时出错;检查磁盘空间不足、路径无效或权限不足
链接器工具错误 LNK1211 找不到预编译类型信息;“filename”未链接或被覆盖
链接器工具错误 LNK1215 元数据操作失败 (HRESULT):错误
链接器工具错误 LNK1218 警告被视为错误;未生成输出文件
链接器工具错误 LNK1221 无法推断子系统,必须定义
链接器工具错误 LNK1223 无效或损坏的文件:文件包含无效的 .pdata 贡献
链接器工具错误 LNK1224 无效的图像基址
链接器工具错误 LNK1237 在代码生成期间,编译器引入了对使用 /GL 编译的模块“module”中定义的符号“symbol”的引用
链接器工具错误 LNK1240 无法编译 IDL 内容
链接器工具错误 LNK1241 资源文件“resource file”已经被指定
链接器工具错误 LNK1245 指定的子系统“subsystem”无效,/SUBSYSTEM 必须是 WINDOWS、WINDOWSCE 或 CONSOLE
链接器工具错误 LNK1248 图像大小(“output_size”)超过允许的最大大小(maximum_size
链接器工具错误 LNK1256 ALINK操作失败:原因
链接器工具错误 LNK1264 指定 /LTG:PGINSTRUMENT,但不需要生成代码;检测失败
链接器工具错误 LNK1277 在 pgd 中找不到对象记录(文件名)
链接器工具错误 LNK1282 无法重定位/REBASE文件,因为它已被签名。
链接器工具错误 LNK1287 无效的托管入口点函数
链接器工具错误 LNK1296 无法加载文件名
链接器工具错误 LNK1301 找到的 LTCG clr 模块与 /LTCG:parameter 不兼容
链接器工具错误 LNK1302 仅支持链接安全 .netmodules;无法链接 .netmodule 文件
链接器工具错误 LNK1306 DLL 入口点函数不能使用托管代码;请编译为本机代码
链接器工具错误 LNK1309 检测到 type1 模块,与 /CLRIMAGETYPE type2 选项不兼容。
链接器工具错误 LNK1312 无效或损坏的文件:无法导入程序集
链接器工具错误 LNK1313 检测到 ijw/native 模块;无法与纯模块链接
链接器工具错误 LNK1314 损坏或无效的 COFF 符号表(未定义的静态或标签符号)
链接器工具错误 LNK1318 意外的 PDB 错误; 原因details
链接器工具错误 LNK1332 <检测到在>一个模块中导入的 Windows 运行时类型计数,并在另一个模块中定义
链接器工具错误 LNK1352 无法将“section_name_1”和“section_name_2”合并到不同的部分
链接器工具错误 LNK1561 必须定义入口点
链接器工具错误 LNK2001 未解析的外部符号“symbol
链接器工具错误 LNK2004 gp 相对修正溢出到“target”;短段“section”太大或超出范围。
链接器工具错误 LNK2005 已在对象中定义的符号
链接器工具错误 LNK2008 修复目标未校准‘symbol_name’
链接器工具错误 LNK2011 预编译对象未链接;映像可能无法运行
链接器工具错误 LNK2013 修复类型溢出异常。 目标“符号名称”超出范围
链接器工具错误 LNK2017 没有 /LARGEADDRESSAWARE:NO 的情况下,“symbol”重定位为“segment”无效
链接器工具错误 LNK2019 函数“function”中引用的未解析的外部符号“symbol
链接器工具错误 LNK2020 未解析的令牌“token”
链接器工具错误 LNK2022 元数据操作失败(HRESULT):error_message
链接器工具错误 LNK2023 无效的 dll 或入口点 <dll 或入口点>
链接器工具错误 LNK2026 模块对于SAFESEH镜像不安全
链接器工具错误 LNK2027 未解析的模块引用“module”
链接器工具错误 LNK2028 exported_function” (decorated_name)在函数“function_containing_function_call” (decorated_name)中被引用
链接器工具错误 LNK2031 无法为“function_declarationdecorated_name生成 p/invoke;元数据中缺少调用约定
链接器工具错误 LNK2033 “type”的未解析 typeref 标记 (token)
链接器工具错误 LNK2038 检测到“name”不匹配:值“value_1”与filename.obj中的值“value_2”不匹配
链接器工具错误 LNK2039 导入在 another.obj 中定义的 ref 类 <类型>;它要么应该被导入,要么应该被定义,但不能同时以两种方式存在。

链接器工具警告

警告 Message
链接器工具警告 LNK4001 未指定对象文件;使用的库
链接器工具警告 LNK4002 对象中定义的符号
链接器工具警告 LNK4006 已在对象中定义的符号;忽略第二个定义
链接器工具警告 LNK4010 无效的子系统版本号;假定使用默认子系统版本
链接器工具警告 LNK4014 找不到成员对象“objectname”
链接器工具警告 LNK4020 filename”中的类型记录已损坏;某些符号和类型可能无法从调试器访问
链接器工具警告 LNK4022 找不到符号“symbol”的唯一匹配项
链接器工具警告 LNK4039 使用 /SECTION 选项指定的节“name”不存在
链接器工具警告 LNK4044 无法识别的参数“option”;已忽略
链接器工具警告 LNK4049 导入“filename.obj”中定义的符号“symbol
链接器工具警告 LNK4065 “function” 无法进行排序,已被忽略
链接器工具警告 LNK4070 在 .EXP 中,/OUT:filename 指令不同于输出文件名 'filename',忽略该指令。
链接器工具警告 LNK4071 无法在后续链接上以增量方式链接
链接器工具警告 LNK4073 无法为 .ilk 文件创建映射;以非增加方式链接
链接器工具警告 LNK4075 由于“option2”规范而忽略“option1”
链接器工具警告 LNK4076 无效的增量状态文件“filename”;以非增加方式链接
链接器工具警告 LNK4078 找到多个具有不同属性的“部分名称”段落
链接器工具警告 LNK4086 入口点“function”没有采用带有“number”字节参数的__stdcall调用约定;程序可能无法运行。
链接器工具警告 LNK4092 共享可写部分“section”包含重定位;映像可能无法正确运行
链接器工具警告 LNK4096 /BASE 值“number”对于 Windows 95 和 Windows 98 无效;映像可能无法运行
链接器工具警告 LNK4098 defaultlib “library” 与其他库的使用冲突;使用 /NODEFAULTLIB:library
链接器工具警告 LNK4099 未在“object/library”或“path”中找到 PDB“filename”;链接对象就像没有调试信息一样
链接器工具警告 LNK4102 删除析构函数“name”的导出;映像可能无法正确运行
链接器工具警告 LNK4104 符号“symbol”的导出应为 PRIVATE
链接器工具警告 LNK4105 没有使用选项“option”指定的参数;忽略选项
链接器工具警告 LNK4194 /DELAYLOAD:dll 名称被忽略
链接器工具警告 LNK4197 导出多次指定的“exportname”;使用第一个规范
链接器工具警告 LNK4199 /DELAYLOAD:dllname 被忽略;未从 dllname 找到任何导入
链接器工具警告 LNK4200 对象文件中损坏的行号信息被忽略
链接器工具警告 LNK4204 “filename”缺少引用模块的调试信息;链接对象就像没有调试信息一样
链接器工具警告 LNK4205 “filename”缺少引用模块的当前调试信息;链接对象就像没有调试信息一样
链接器工具警告 LNK4206 找不到预编译类型信息;“filename”未链接或覆盖;链接对象就像没有调试信息一样
链接器工具警告 LNK4210 section 存在;可能存在未处理的静态初始化器或终结器。
链接器工具警告 LNK4216 导出的入口点条目
链接器工具警告 LNK4217 在“filename_1.obj”中定义的符号“symbol”由函数“function”中的“filename_2.obj”导入
链接器工具警告 LNK4219 修正名称修正溢出。 目标“目标符号名称”范围不足,插入 thunk
链接器工具警告 LNK4220 无效的“链接器选项”值“value”;假定为默认值
链接器工具警告 LNK4221 此对象文件未定义任何以前未定义的公共符号,因此不会由使用此库的任何链接作使用
链接器工具警告 LNK4222 不应为导出符号“symbol”分配序号
链接器工具警告 LNK4224 该选项不再受支持,将被忽略
链接器工具警告 LNK4227 元数据操作警告(HRESULT):warning_message
链接器工具警告 LNK4229 找到无效指令 /指令;忽视
链接器工具警告 LNK4237 /SUBSYSTEM:NATIVE 在从“dll”导入时指定;使用 /SUBSYSTEM:CONSOLE 或 /SUBSYSTEM:WINDOWS。
链接器工具警告 LNK4247 入口点“decorated_function_name”已经具有线程属性,因此忽略了“attribute”。
链接器工具警告 LNK4248 未解析的 “type” typeref token,映像可能无法运行。
链接器工具警告 LNK4253 节“section1”尚未合并到“section2”中;已合并到“section3”中。
链接器工具警告 LNK4254 节“section1”(偏移量)与“section2”(偏移量)合并,具有不同属性
链接器工具警告 LNK4286 filename_1.obj”中定义的符号“symbol”由“filename_2.obj”导入
链接器工具警告 LNK4306 辅助延迟加载导入地址表与主延迟加载导入地址表没有正确对齐。 这可能会对性能产生负面影响。
链接器工具警告 LNK4307 辅助延迟加载导入地址表副本与辅助延迟加载导入地址表没有正确对齐。 这可能会对性能产生负面影响。

另请参阅

C/C++ 编译器和生成工具错误与警告