`

link遇到的问题

阅读更多
  今天遇到了一个问题,虽然小,但还是记录一下。
  在link项目的时候,出错了,输出如下:
  Linking...
  sockets_test.obj : fatal error LNK1103: debugging information corrupt; recompile module
  Error executing link.exe.

在msdn里查了一下,对LNK1103错误的解释是:

调试信息损坏;重新编译模块

可能的原因

  • 在创建有效的对象文件之前,编译已终止。

重新编译给定的对象文件。如果重新编译不能解决问题,请记下错误发生时的环境,尝试隔离出问题,并创建一个可重复的测试情形。然后参考技术支持帮助文件、手册中的技术支持部分或 <mshelp:link keywords="GettingHelpFromMicrosoftProductSupportServices" tabindex="0">Microsoft 产品支持服务</mshelp:link>。

有关更多信息,请参见损坏的对象文件

这个问题有点奇怪,我都是正常编译的,难道cl编译处理的obj与link不兼容?

我想了一下,换到命令行去编译,结果ok了。

看来可能两个方式使用的link.exe不一样,我测试一下,加了一个 /verbose参数,看一下输出,在ide里是英文的,而在命令行中是中文的,看来确实是link.exe不一样。需要把那个报错的link给找出来就可以了。

在vc6里的directories里的excutable files的路径设置中,我一项一项的寻找,最后找到了,原来是我装了masm,在它的目录下边有个link.exe,版本为5.1,而vc71带的是7.1,难怪出错。

把它挪到后边去,再测试,ok,没问题了。




 


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics