fatal error LNK1103: debugging information corrupt; recompile module

本文介绍了在使用Visual C++ 6.0编译程序时遇到的LNK1103错误及其解决方案。该错误通常由于使用了与VC6不兼容的较新版本SDK导致。文中提供了调整SDK目录顺序、替换库文件等多种解决方法。

编译程序时,如果涉及到版本问题,有时会出现这样的错误:
fatal error LNK1103: debugging information corrupt; recompile module

在网上搜索了几种办法:
(一):
这个错误产生的原因是:
2003年2月的SDK是支持VC6的最后一版,在此之后的就都是使用VC7/VC8来开发的了。
随着VC7/VC8中新的debug信息格式和一些安全检查机制的导入,在VC6上使用这些库的Debug版本的时候
就会产生如题的链接错误。具体而言,你可能在VC6上使用了XP SP2,Windows 2003或者Windows 2003 R2
版本的SDK。

解决办法:
1.用Release版编译,不过这样就没法调试了。
2.到Tool -> Options -> Directories(以VC6.0为例),将SDK的顺序放到最下边或者直接删掉较新SDK
   的Directories:包括Include files和Library files。
3.如果你必须使用SDK中的新特性,那么找一个2004年之前的SDK吧。
   这里是最后一版支持VC6的SDK的下载地址:
   http://www.microsoft.com/msdownl ... pdate/psdk-full.htm
4.方便的话,干脆迁移到VC7/VC8。

(二):
Linking...
   Creating library Debug/xxx.lib and object Debug/xxx.exp
uuid.lib(comcat.obj) : fatal error LNK1103: debugging information corrupt; recompile module
Error executing link.exe.

出现环境 xp sp2 + 最新 sdk + vc6 +vc7

出现此错误 位 vc6 下编译,问题出来 lib 和 link.exe 版本不合
查看 lib 设置,将 sdk 移动到最后,
编译通过。

看来 xp 的 sdk 已经默认的向 vc.net 靠拢了

(三):
今天使用windows server 2003的SDK编译工程,出现了uuid.lib(docobj_i.obj) : fatal error LNK1103: debugging information corrupt; recompile module的错误。我的解决方法是用VC6.0自带的uuid.lib覆盖windows server 2003SDK的uuid.lib。你可以试试。记得先备份哦。

在UE(Unreal Engine)中,error LNK2019和fatal error LNK1120通常是相互关联的,error LNK2019表示无法解析的外部符号,而fatal error LNK1120则是对未解析外部符号数量的总结。对于UE中出现的类似报错,以“UnrealEditor - TimerLineForUI.dll : fatal error LNK1120: 1个无法解析的外部命令”为例,具体报错为“error LNK2019: 无法解析的外部符号 "__declspec(dllimport) class UClass * __cdecl Z_Construct_UClass_UUserWidget_NoRegister(void)"”,可以尝试以下解决办法: ### 检查依赖项 确保项目中包含了所有必要的模块和库。在UE项目中,模块的依赖关系通常在`.Build.cs`文件中定义。检查`TimerLineForUI`模块的`.Build.cs`文件,确认是否正确包含了与`UUserWidget`相关的模块。例如: ```csharp PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "UMG" }); ``` 这里的`UMG`模块是与用户界面相关的,可能包含了`UUserWidget`的定义。 ### 重新生成项目文件 有时项目文件可能会损坏或过时,导致链接错误。可以通过以下步骤重新生成项目文件: - 关闭UE编辑器。 - 找到项目根目录下的`.uproject`文件,右键点击,选择“Generate Visual Studio project files”。 - 重新打开项目。 ### 清理和重建解决方案 在Visual Studio中,清理和重建解决方案可以帮助解决一些编译和链接问题: - 右键点击解决方案资源管理器中的解决方案名称,选择“Clean Solution”。 - 清理完成后,再次右键点击解决方案名称,选择“Rebuild Solution”。 ### 检查引擎版本兼容性 确保使用的UE引擎版本与项目兼容。不同版本的UE可能会有一些API或模块的变化,如果使用了不兼容的版本,可能会导致链接错误。 ### 检查代码实现 确保代码中正确实现了所有引用的函数和类。在报错信息中提到的`Z_Construct_UClass_UUserWidget_NoRegister`函数,检查是否在代码中有正确的实现或引用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值