Could not run "cl.exe". Please check your PATH!
刚开始是怀疑环境变量的Path有问题,手动将cl.exe的目录(我是安装在D盘)补上D:/Program Files/Microsoft Visual Studio/VC98/Bin ,重新new_modis,结果还是报这样的错误,觉得可能不是这里的错误,于是,打开make2.pl,搜索了一下cl.exe,在sub codegenMoDIS{}函数里找到了这句话
die "Could not run /"cl.exe/". Please check your PATH!/n" if ($is_cl != 0);
不懂Perl,上网搜索了一下,Perl中sub表示的是执行子程序的意思,Perl子程序即执行一个特殊任务的一段分离的代码,它可以使减少重复代码且使程序易读。
定义是:
subsubroutine{
statements;
}
调用是&subname;
die函数是错误处理函数,如果系统调用失败的话,die函数会把字符串打印到STDERR上,并以$!的当前值退出脚本。
再回过头去看这句话:
die "Could not run /"cl.exe/". Please check your PATH!/n" if ($is_cl != 0);
那么很明显就是is_cl这个条件判断有问题,然后直接向上搜索,在上面找到如下语句:
$cl = 'cl';
$is_msdev = 0;
$is_cl = 0;
$VSCommonDir = "C://Program Files//Microsoft Visual Studio//Common";
$MSDevDir = "C://Program Files//Microsoft Visual Studio//Common//MSDev98";
$MSVCDir = "C://Program Files//Microsoft Visual Studio//VC98";
很明显这个目录是不可能找到的,我安装在C盘,所以直接将目录改成自己VS6安装的D盘,然后重新new_modis,不在报错,搞定!