我有一些基于 Borland 的项目,低于版本。
我可以在 IDE 中清理/制作/构建它
直到今天我能够在 cmd 中实现它:
cd C:\repos\gradlecpp\Project\src\AssDelay
T:\Bin\bpr2mak.exe TSAssDelay.bpr
T:\Bin\make.exe -fTSAssDelay.mak
执行上述命令后,我有.dll
文件。
今天我在系统范围内所做的只是卸载MSSql Server
,现在我收到以下错误:
C:\repos\gradlecpp\Project\src\AssDelay>T:\Bin\make.exe -fTSAssDelay.mak
MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
T:\Bin\..\BIN\bcc32 -WD -Od -H=T:\Bin\..\lib\vcl50.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v -vi- -c -tWM -w-par -I..\DocGoodsCards;"C:\Program Files\B
orland\CBuilder5\Bin\";"D:\My project\tmp\";..\GroupClients;T:\Bin\..\Imports;P:\Tr\;L:\RSD\;"C:\Program Files\Borland\CBuilder5\Projects\";..\Common;"C:\Progra
m Files\Common Files\System\MAPI\1049\nt\";C:\;T:\Bin\..\include;T:\Bin\..\include\vcl;T:\Bin\..\include\atl;L:\CDBTypeLibrary\;L:\EhLib\;L:\FastReport\;L:\Grap
hics\;L:\ImgEdit\;L:\LGTypeLibrary\;L:\ML\;L:\Rx\;L:\TS\;L:\TSBF\;L:\TSTypeLibrary\;L:\VCLZip\;"L:\DL\" -D_DEBUG;_RTLDLL;NO_STRICT;_ATL_APARTMENT_THREADED;USING
_ATLVCL;_ATL_NO_SECURITY;INC_ATL_HEADERS;USEPACKAGES -n .\TSAssDelay.cpp .\TSAssDelay_ATL.cpp .\TSAssDelay_TLB.cpp .\FmDocAssDelayList.cpp .\DocAssDelayImpl.cpp
.\FmDocAssDelayItem.cpp .\DmDocAssDelay.cpp .\FmDocAssLimitList.cpp .\DocAssLimitImpl.cpp .\FmDocAssLimitItem.cpp .\DmDocAssLimit.cpp .\FmDocAssDelayFU.cpp .\F
mOrdChngFU.cpp .\DmDocAssIU.cpp .\FmDocAssIUList.cpp .\FmDocAssIUItem.cpp .\FmDocAssIULine.cpp .\DocAssIUImpl.cpp .\FmDocAssIUPercent.cpp .\DmDocAss.cpp .\DocAs
sImpl.cpp .\FmDocAss.cpp
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
Error E2194: Could not find file 'project\tmp";..\GroupClients;T:\Bin\..\Imports;P:\Tr\;L:\RSD\;C:\Program Files\Borland\CBuilder5\Projects";..\Common;C:\Progra
m.cpp'
Error E2194: Could not find file 'Files\Common.cpp'
Error E2194: Could not find file 'Files\System\MAPI\1049\nt";C:\;T:\Bin\..\include;T:\Bin\..\include\vcl;T:\Bin\..\include\atl;L:\CDBTypeLibrary\;L:\EhLib\;L:\F
astReport\;L:\Graphics\;L:\ImgEdit\;L:\LGTypeLibrary\;L:\ML\;L:\Rx\;L:\TS\;L:\TSBF\;L:\TSTypeLibrary\;L:\VCLZip\;L:\DL" -D_DEBUG;_RTLDLL;NO_STRICT;_ATL_APARTMEN
T_THREADED;USING_ATLVCL;_ATL_NO_SECURITY;INC_ATL_HEADERS;USEPACKAGES -n .\TSAssDelay.cpp .\TSAssDelay_ATL.cpp .\TSAssDelay_TLB.cpp .\FmDocAssDelayList.cpp .\Doc
AssDelayImpl.cpp .\FmDocAssDelayItem.cpp .\DmDocAssDelay.cpp .\FmDocAssLimitList.cpp .\DocAssLimitImpl.cpp .\FmDocAssLimitItem.cpp .\DmDocAssLimit.cpp .\FmDocAs
sDelayFU.cpp .\FmOrdChngFU.cpp .\DmDocAssIU.cpp .\FmDocAssIUList.cpp .\FmDocAssIUItem.cpp .\FmDocAssIULine.cpp .\DocAssIUImpl.cpp .\FmDocAssIUPercent.cpp .\DmDo
cAss.cpp .\DocAssImpl.cpp .\FmDocAss.cpp .cpp'
所以现在,我没有结果.dll
。
如果我使用Project -> Export Makefile...
,从 IDE 创建和运行 make 文件,我也会遇到同样的错误Project -> Execute Makefile
。
这是 Makefile 的一部分,据说是导致错误的原因:
SYSDEFINES = _RTLDLL;NO_STRICT;_ATL_APARTMENT_THREADED;USING_ATLVCL;_ATL_NO_SECURITY;INC_ATL_HEADERS;USEPACKAGES
INCLUDEPATH = ..\DocGoodsCards;"C:\Program Files\Borland\CBuilder5\Bin\";"D:\My project\tmp\";..\GroupClients;$(BCB)\Imports;P:\Tr\;L:\RSD\;"C:\Program Files\Borland\CBuilder5\Projects\";..\Common;"C:\Program Files\Common Files\System\MAPI\1049\nt\";C:\;$(BCB)\include;$(BCB)\include\vcl;$(BCB)\include\atl;L:\CDBTypeLibrary\;L:\EhLib\;L:\FastReport\;L:\Graphics\;L:\ImgEdit\;L:\LGTypeLibrary\;L:\ML\;L:\Rx\;L:\TS\;L:\TSBF\;L:\TSTypeLibrary\;L:\VCLZip\;"L:\DL\"
LIBPATH = "C:\Program Files\Borland\CBuilder5\Projects\Lib\";L:\Bpl\;..\DocGoodsCards;"C:\Program Files\Borland\CBuilder5\Bin\";"D:\My project\tmp\";"L:\DevExpress\ExpressEditors Library\Lib\";L:\DevExpress\ExpressInplaceEditors\Lib\;L:\DevExpress\ExpressQuantumGrid\Lib\;..\GroupClients;L:\DevExpress\Lib\;$(BCB)\Imports;P:\Tr\;L:\RSD\;"C:\Program Files\Borland\CBuilder5\Projects\";..\Common;"C:\Program Files\Common Files\System\MAPI\1049\nt\";L:\EhLib\;$(BCB)\Lib;$(BCB)\Lib\Obj;L:\Lib\;L:\ML\;L:\TS\;L:\TSBF\;"L:\DL\"
还有什么,在我们有一些脚本作为自动构建系统的一部分之前,那个固定的 makefile:
@echo off
REM -- Prepare the Command Processor --
SETLOCAL ENABLEEXTENSIONS
SETLOCAL DISABLEDELAYEDEXPANSION
if "%~1"=="" findstr "^::" "%~f0"&GOTO:EOF
for /f "tokens=1,* delims=]" %%A in ('"type %1|find /n /v """') do (
set "line=%%B"
if defined line (
call set "line=echo.%%line:\"=\."%%"
rem call set "line=echo.%%line:%~1=%~2%%"
for /f "delims=" %%X in ('"echo."%%line%%""') do %%~X
) ELSE echo.
)
echo HERE
真的不可能理解这里发生了什么......我认为在十六进制编辑器中理解编译代码比 MS 批处理文件更容易......我认为在那里完成的是替换引号。我试图删除引号,但它没有帮助......
有人可以帮我从 cmd 编译这个项目吗?
更新
好的,所以我从make.exe -fTSAssdelay.mak
包含空格的所有目录路径中生成并删除了命令:
@echo off
T:\Bin\bcc32 -WD -Od -H=T:\Bin\..\lib\vcl50.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v -vi- -c -tWM -w-par ^
-IL:\TS\;L:\TSBF\ -I..\GroupClients -I..\DocGoodsCards -IT:\Bin\..\Imports -IP:\Tr\ -IL:\RSD\ -I..\Common -IC:\ ^
-IT:\Bin\..\include -IT:\Bin\..\include\vcl -IT:\Bin\..\include\atl -IL:\CDBTypeLibrary\ -IL:\EhLib\ -IL:\FastReport\ ^
-IL:\Graphics\ -IL:\ImgEdit\ -IL:\LGTypeLibrary\ -IL:\ML\ -IL:\Rx\ -IL:\TSTypeLibrary\ -IL:\VCLZip\ -IL:\DL\ ^
-D_DEBUG;_RTLDLL;NO_STRICT;_ATL_APARTMENT_THREADED;USING_ATLVCL;_ATL_NO_SECURITY;INC_ATL_HEADERS;USEPACKAGES -n ^
.\TSAssDelay.cpp .\TSAssDelay_ATL.cpp .\TSAssDelay_TLB.cpp .\FmDocAssDelayList.cpp .\DocAssDelayImpl.cpp ^
.\FmDocAssDelayItem.cpp .\DmDocAssDelay.cpp .\FmDocAssLimitList.cpp .\DocAssLimitImpl.cpp .\FmDocAssLimitItem.cpp ^
.\DmDocAssLimit.cpp .\FmDocAssDelayFU.cpp .\FmOrdChngFU.cpp .\DmDocAssIU.cpp .\FmDocAssIUList.cpp .\FmDocAssIUItem.cpp ^
.\FmDocAssIULine.cpp .\DocAssIUImpl.cpp .\FmDocAssIUPercent.cpp .\DmDocAss.cpp .\DocAssImpl.cpp .\FmDocAss.cpp
rem -I"C:\Program Files\Borland\CBuilder5\Projects\" -I"C:\Program Files\Common Files\System\MAPI\1049\nt\"
rem -I"C:\Program Files\Borland\CBuilder5\Bin\" -I"D:\My project\tmp\" ^
如您所见,也可以将它们放在一起:-IL:\TS\;L:\TSBF\
所以现在,我得到了.obj
文件,但我仍然需要链接。
如果我从 makefile 中删除这些路径,我会得到:
C:\repos\gradlecpp\Project\src\AssDelay>make.exe -fTSAssDelay.mak
MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
C:\PROGRA~1\Borland\CBUILD~1\Bin\..\BIN\bcc32 -WD -Od -H=C:\PROGRA~1\Borland\CBUILD~1\Bin\..\lib\vcl50.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v -vi- -c -tWM -w-par -I..\DocGoodsCar
ds;..\GroupClients;C:\PROGRA~1\Borland\CBUILD~1\Bin\..\Imports;P:\Tr\;L:\RSD\;..\Common;C:\;C:\PROGRA~1\Borland\CBUILD~1\Bin\..\include;C:\PROGRA~1\Borland\CBUILD~1\Bin\..\include\vcl;C:\PRO
GRA~1\Borland\CBUILD~1\Bin\..\include\atl;L:\CDBTypeLibrary\;L:\EhLib\;L:\FastReport\;L:\Graphics\;L:\ImgEdit\;L:\LGTypeLibrary\;L:\ML\;L:\Rx\;L:\TS\;L:\TSBF\;L:\TSTypeLibrary\;L:\VCLZip\;"L
:\DL\" -D_DEBUG;_RTLDLL;NO_STRICT;_ATL_APARTMENT_THREADED;USING_ATLVCL;_ATL_NO_SECURITY;INC_ATL_HEADERS;USEPACKAGES -n..\Common\ ..\Common\FmSelDoctype.cpp
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
Error E2266: No file names given