MTK 编译出错

来源:互联网 发布:淘宝新上功能兼职挣钱 编辑:程序博客网 时间:2024/06/13 08:13

最近因工作需要在学习MTK,用的是MT6252。

刚拿到代码,编译环境配置好之后就开始第一次编译。

make new D805_RDA_GPRS,可刚开始没多久就出错了,提示“Could not run cl.exe. Please check your PATH!”,百度说是路径不对,我就按照他说的分析make2.pl,

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";$VcOsDir = "WIN95";if (($newMoDIS == 1) || ($atMoDIS == 1) || ($action =~ /MoDIS/i)) {if ((-d $VSCommonDir) && (-d $MSDevDir) && (-d $MSVCDir)) {if ($ENV{"OS"} eq "Windows_NT") {$VcOsDir = "WINNT";$ENV{"PATH"} = "${MSDevDir}\\BIN;${MSVCDir}\\BIN;${VSCommonDir}\\TOOLS\\${VcOsDir};${VSCommonDir}\\TOOLS;" . $ENV{"PATH"};} else {$ENV{"PATH"} = "${MSDevDir}\\BIN;${MSVCDir}\\BIN;${VSCommonDir}\\TOOLS\\${VcOsDir};${VSCommonDir}\\TOOLS;" .$ENV{"windir"}. "\\SYSTEM;" . $ENV{"PATH"};}$ENV{"INCLUDE"} = "${MSVCDir}\\ATL\\INCLUDE;${MSVCDir}\\INCLUDE;${MSVCDir}\\MFC\\INCLUDE;". $ENV{"INCLUDE"};$ENV{"LIB"} = "${MSVCDir}\\LIB;${MSVCDir}\\MFC\\LIB;". $ENV{"LIB"};} else {print "$VSCommonDir does NOT exist!\n" if (!-d $VSCommonDir);print "$MSDevDir does NOT exist!\n" if (!-d $MSDevDir);print "$MSVCDir does NOT exist!\n" if (!-d $MSVCDir);}$is_msdev = system("$msdev /? > nul 2>&1");$is_cl = system("$cl > nul 2>&1");}}elsif ($MoDIS_vc9 eq 1){$cl = 'cl';$is_devenv = 0;$is_cl = 0;$VSCommonDir = "C:\\Program Files\\Microsoft Visual Studio 9.0\\Common7";$MSVCDir = "C:\\Program Files\\Microsoft Visual Studio 9.0\\VC"; $VcOsDir = "WIN95";$FrameworkDir = "C:\\WINDOWS\\Microsoft.NET\\Framework";$WindowsSDKDir = "C:\\Program Files\\Microsoft SDKs\\Windows\\v6.0A";if (($newMoDIS == 1) || ($atMoDIS == 1) || ($action =~ /MoDIS/i)) {if ((-d $VSCommonDir) && (-d $MSVCDir)) {if ($ENV{"OS"} eq "Windows_NT") {$VcOsDir = "WINNT";$ENV{"PATH"} = "${WindowsSDKDir}\\bin;${VSCommonDir}\\IDE;${MSVCDir}\\BIN;${MSVCDir}\\vcpackages;${VSCommonDir}\\Tools\\${VcOsDir};${FrameworkDir}\\v3.5;${FrameworkDir}\\v2.0.50727;" . $ENV{"PATH"};} else {$ENV{"PATH"} = "${WindowsSDKDir}\\bin;${VSCommonDir}\\IDE;${MSVCDir}\\BIN;${MSVCDir}\\vcpackages;${VSCommonDir}\\Tools;${FrameworkDir}\\v3.5;${FrameworkDir}\\v2.0.50727;" . $ENV{"windir"}. "\\SYSTEM;" . $ENV{"PATH"};}$ENV{"INCLUDE"} = "${WindowsSDKDir}\\Include;${MSVCDir}\\ATLMFC\\INCLUDE;${MSVCDir}\\INCLUDE;". $ENV{"INCLUDE"};$ENV{"LIB"} = "${WindowsSDKDir}\\Lib;${MSVCDir}\\ATLMFC\\LIB;${MSVCDir}\\LIB;". $ENV{"LIB"};} else {print "$VSCommonDir does NOT exist!\n" if (!-d $VSCommonDir);print "$MSVCDir does NOT exist!\n" if (!-d $MSVCDir);}$is_devenv = system("$devenv /? >nul 2>&1");$is_cl = system("$cl >nul 2>&1"); $is_vcpro = system("devenv /? >nul 2>&1") || &chk_vc9();$modis_enable_sln = 2 if ($is_vcpro == 0);}}

再往上查询可以发现 $MoDIS_vc9 的值为1,也就是说编译器的路径为 C:\\Program Files\\Microsoft Visual Studio 9.0\\Common7,而这个路径我电脑上是没有的。

于是我就把if 跟else 的条件换了下,变成 if ($MoDIS_vc9 eq 1),这样在编译不在提示“Could not run cl.exe. Please check your PATH!” 这个错误。


可问题并没有解决,接着有出现问题了 提示 “Could not run  vcbuild.exe. Please check your PATH!” 错误,编译中断。

百度之后并没有找到解决方法。于是查了vcbuild.exe 发现是vs2008中才有的。

于是,下载安装VS2008,将上面的 if ($MoDIS_vc9 eq 1)改回原来的值,在编译不再出错。问题解决。