首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > Ruby Rails >

MASM6.11 链接异常 fatal error L1101: invalid object module

2013-10-28 
MASM6.11 链接错误 fatal error L1101: invalid object module2013年10月27日13:23:01今天遇到这个问题,折

MASM6.11 链接错误 fatal error L1101: invalid object module
     2013年10月27日13:23:01    
      今天遇到这个问题,折腾了我好长时间,这里记录下,以免以后再犯此低级错误。
     事情是这样的,我以前一直编译没有问题的汇编文件 ab.asm ,今天用 MASM6.11 编译 显示警告,链接显示错误,如下:

C:\Users\Administrator\Desktop>D:\MASM611\BIN\masm pci-a.asm,pci-a.obj;Microsoft (R) MASM Compatibility DriverCopyright (C) Microsoft Corp 1993.  All rights reserved.
Invoking: ML.EXE /I. /Zm /c /Ta pci-a.asm
Microsoft (R) Macro Assembler Version 10.00.30319.01Copyright (C) Microsoft Corporation.  All rights reserved.
Assembling: pci-a.asmpci-a.asm(224) : warning A4023:with /coff switch, leading underscore required for start address : Code_Entry
C:\Users\Administrator\Desktop>D:\MASM611\BIN\link pci-a.obj, pci-a.exe;
Microsoft (R) Overlay Linker  Version 3.60Copyright (C) Microsoft Corp 1983-1987.  All rights reserved.
PCI-A.OBJ : fatal error L1101: invalid object modulepos: 1 Record type: 4C

     刚开始以为是自己程序出错了,可是拿以前编译没问题的程序都不能通过,哪怕写个最简单的demo程序都不能通过,后来才发现问题出在环境变量配置上,因为自己之前不小心删除了环境变量,导致连接时找不到一些模块,出现此问题。
     MASM611安装后的文件中有这个文件 MASM611\BIN\NEW-VARS.BAT,它负责配置环境变量,所以只要每次编译连接前运行一下该批处理即可,或者在环境变量中添加“一劳永逸”。
// NEW-VARS.BATSET PATH=D:\MASM611\BIN;%PATH%
SET INCLUDE=D:\MASM611\INCLUDE;%INCLUDE%
SET HELPFILES=D:\MASM611\HELP\*.HLP
SET ASMEX=D:\MASM611\SAMPLES
SET TMP=C:\USERS\ADMINI~1\APPDATA\LOCAL\TEMP
     我的MASM611安装在D盘,你可以参照你的安装路径对照修改.
     其次, MASM6.11 在连接时不能出现过长的文件名,否则会出现 找不到指定目标文件(can not find object),所以最好是切换到待编译文件目录进行编译连接,如果还是出现找不到指定目标文件,将文件名改短一点再编译连接。

热点排行