2

我有多个要批量编译的项目组。那里有100多个项目。

在 2010 年,我们有一个像这样的“make”文件:

call "c:\Borland\RAD Studio\19.0\bin\rsvars.bat"
"c:\Program Files (x86)\MSBuild\12.0\Bin\MSBuild.exe" /t:Clean,Build  Group1.groupproj 

在东京,它不再起作用了。我得到:

C:\Borland\RAD Studio\19.0\Bin\CodeGear.Cpp.Targets(3695,5): error : Error: Unable to open file 'L_ER_FD.RES' [P:\Ent\_common\er\prj\l_er_fd.cbproj]

但是,项目组从 IDE 编译得很好。
我们认为这与 .vres 文件(来自 .rc)的创建有关,该文件由 IDE 在内存中创建并且从未写入文件。

注意:
- 我在 C++ Builder Tokyo 上试过这个,但我猜它也发生在 Delphi 下。我会尽快测试。
- 我有 MSBuild v12。

4

1 回答 1

2

我有同样的问题,我设法解决它。所以我在旧版本的 Rad Studio 上有以下脚本,它正在工作:

call rsvars.bat
call msbuild Utils25.cbproj /t:Clean;Build /p:Configuration=Release /p:platform=Win32 > result.err

但是在 Rad Studio 10.2.3 上,这给我带来了像你这样的链接错误。经过大量测试后,我发现如果您在单独的 msbuild 调用上进行清理和构建,它会按预期工作。所以以下工作:

call rsvars.bat
call msbuild Utils25.cbproj /t:Clean /p:Configuration=Release /p:platform=Win32 > clean.err
call msbuild Utils25.cbproj /t:Build /p:Configuration=Release /p:platform=Win32 > build.err
于 2019-02-13T15:12:34.667 回答