项目过程中,第二次遇到 make e=234 这种错误了,转载解决问题贴:
http://andyjojo.iteye.com/blog/580782
Make error process_begin: CreateProcess(***) failed.
这两天编写从windows CMD调用Make编译的bat脚本。结果运行时总是报错:
- make (e=234): More data is available.
- ...
process_begin: CreateProcess(bla,bla,bla.....) failed.
make (e=234): More data is available.
...
但是直接运行Make是不会有这个错误。
网上查找很久都没有找到解决方案。
最后一行一行注释别的脚本,终于找到问题所在了。
原来Windows CMD中set的变量空间是有限的(网上有说是11K)。也就是bat脚本中不能有太多的太长变量。否则可能会运行失败。
如:
set path=%path%;%path%
echo 1111====================================%path%
pause
set path=%path%;%path%
echo 2222====================================%path%
pause
set path=%path%;%path%
echo 3333====================================%path%
pause
set path=%path%;%path%
echo 4444====================================%path%
pause
set path=%path%;%path%
echo 5555====================================%path%
pause
set path=%path%;%path%
echo 6666====================================%path%
pause
set path=%path%;%path%
echo 7777====================================%path%
pause
set path=%path%;%path%
echo 8888====================================%path%
pause
set path=%path%;%path%
echo 9999====================================%path%
pause
pause
运行后打出第5个bat就退出了。
所以bat命令不能定义太多变量和内容
或者在一些变量用完后可以把其设为空
echo 1111====================================%path%
pause
set path=%path%;%path%
echo 2222====================================%path%
pause
set path=%path%;%path%
echo 3333====================================%path%
pause
set path=%path%;%path%
echo 4444====================================%path%
pause
set path=%path%;%path%
echo 5555====================================%path%
pause
set path=%path%;%path%
echo 6666====================================%path%
pause
set path=%path%;%path%
echo 7777====================================%path%
pause
set path=%path%;%path%
echo 8888====================================%path%
pause
set path=%path%;%path%
echo 9999====================================%path%
pause
pause
运行后打出第5个bat就退出了。
所以bat命令不能定义太多变量和内容
或者在一些变量用完后可以把其设为空
set var=