【发布时间】: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++