我正在使用 makefiles (GNU Make) 在命令行上使用 Visual C++ Express 进行编程。为此,我必须调用 Visual Studio 批处理文件vsvars32.bat来设置环境。每次我在使用 make 之前打开一个新的 cmd.exe 时都必须这样做。当我尝试从我的makefile调用批处理文件时,它显然将批处理文件作为自己的进程执行,因为之后的环境是相同的。
所以我的问题是:有没有办法像Linux/Unix bash的内置源命令一样在 cmd.exe 中执行脚本?当然,除了在 Windows 上安装 bash。
发布我自己的答案后编辑:
上面的问题不太对,应该是这样的:
是否可以从生成文件中调用更改环境的批处理文件,以便更改的环境对于生成文件中调用的其他程序仍然存在?
原问题的答案是肯定的:可以使用cmd.exe的内置调用命令。但是由于call是一个内置命令而不是一个真正的程序,它在 makefile 中不起作用,只有当你从另一个批处理文件中调用一个批处理文件时。