【问题标题】:Unable to execute command 'tasm.exe' with Borland无法使用 Borland 执行命令“tasm.exe”
【发布时间】:2014-10-10 08:47:50
【问题描述】:

我正在使用 Borland 4.52 构建一个旧项目,我遇到了这个问题。

当我的构建脚本进入一个包含汇编代码的模块时,我有:

INFO : root.compile : ==================================================
DEBUG : root.compile : Building module
INFO : root.compile : ==================================================
Cleaning...
INFO : root.compile : Thread Handler said : 1 was created
DEBUG : root.compile : Thread-100 : module_path
c:\make.exe: *** [c_des.obj] Error 1

ERROR : root.compile : when module_path ran, error: 2

DEBUG : root.compile : Stop thread : Thread-100
Flags and options : -1- -d -ml -w -f- -x- -v -R- -vi -RT- -P -DCAD
Generating OPT C Options File
Generating OPT ASM Options File
Compiling ../../../../source/lrc.c
"C:\Bc45\bin\bcc"  +c.opt -c -olrc.obj ../../../../source/lrc.c
Borland C++ 4.52 Copyright (c) 1987, 1994 Borland International
../../../../source/lrc.c:
Compiling ../../../../source/c_des.c
"C:\Bc45\bin\bcc"  +c.opt -c -oc_des.obj ../../../../source/c_des.c
Borland C++ 4.52 Copyright (c) 1987, 1994 Borland International
../../../../source/c_des.c:
Error: Unable to execute command 'tasm.exe'
WARNING : root.compile : XXXXXXXXXXXXXXXXXXXX
WARNING : root.compile : MODULE FAILED
WARNING : root.compile : XXXXXXXXXXXXXXXXXXXX

我已经检查过了:

  • 如果 tasm.exe 真的在 C:\Bc45\bin\bcc 中(它是),
  • 我所有的环境变量,
  • 文件夹权限(完全控制)
  • 当我在 CMD 中输入 TASM 时,它正确显示了 TASM 的帮助
  • 当我在 Borland 中直接使用 ASM 文件执行它时,就可以了

     Flags and Options : -1- -d -ml -w -f- -x- -v -R- -vi -P -RT- -DMAGIC510 
     -DCADHEX -D4WIRES -DCAD1 -DAGP_2 -DTERM_TYPE=1
     Generating OPT C Options File
     Generating OPT ASM Options File
     Assembling ../../../../source/bcpp31.asm
     Turbo Assembler  Version 4.1  Copyright (c) 1988, 1996 Borland International
    
     Assembling file:   ..\..\..\..\source\bcpp31.asm
     Assembling for the large memory model
     Paradigm LOCATE Borland C++ 3.10 Startup Support
     *Warning* ..\..\..\..\source\bcpp31.asm(657) Module is pass dependent - com
     patibility pass was done
     Error messages:    None
     Warning messages:  1
     Passes:            2
     Remaining memory:  391k
    
     Compiling ../../../../source/bcpprtl.asm
     Turbo Assembler  Version 4.1  Copyright (c) 1988, 1996 Borland International
    
     Assembling file:   ..\..\..\..\source\bcpprtl.asm
     Assembling for the large memory model
     *Warning* ..\..\..\..\source\bcpprtl.asm(142) Module is pass dependent - compati
     bility pass was done
     Error messages:    None
     Warning messages:  1
     Passes:            2
     Remaining memory:  398k
    
     Build complete bcpp31.obj bcpprtl.obj are up-to-date
    

而且,它在具有相同操作系统的另一台计算机上运行良好(七企业 SP 1)。

如果您有其他任何想法,我将不胜感激。

谢谢

【问题讨论】:

  • 是否有任何生成的完整路径名(例如,C:\this\that\etc.)太长?有一个旧的 DOS 限制;我忘了它是什么。
  • 嗯,实际上,它可以。但是我很早就遇到了这个问题,甚至Borland都没有工作。因为他们处于同一水平,我怀疑就是这样。我仍然检查过,最长的路径是 50 个字符,在我看来最大值应该是 128。
  • 我在另一台电脑上试过了,即使是很长很长的路径也没有问题。

标签: inline-assembly tasm borland-c++


【解决方案1】:

检查 PATH 中 Borland 的路径是否在前几个 (128) 个字符内,如果不移动到开头。检查您的 PATH 中是否除了 Borland 之外没有其他 tasm.exe。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-01
    • 2017-05-09
    • 2017-03-15
    • 2020-06-19
    • 2016-08-20
    • 2020-03-08
    相关资源
    最近更新 更多