hotspot\make\windows\get_msc_ver.sh:需要整数表达式。
从58行开始。
解决办法一
加一句:MSC_VER_RAW=16.00.303109.01
if [ "x$FORCE_MSC_VER" != "x" ]; then echo "MSC_VER=$FORCE_MSC_VER" else MSC_VER_RAW=`cl 2>&1 | "$HEAD" -n 1 | "$SED" 's/.*Version[\ ]*\([0-9][0-9.]*\).*/\1/'` MSC_VER_RAW=16.00.303109.01 MSC_VER_MAJOR=`"$ECHO" $MSC_VER_RAW | "$CUT" -d'.' -f1` MSC_VER_MINOR=`"$ECHO" $MSC_VER_RAW | "$CUT" -d'.' -f2` MSC_VER_MICRO=`"$ECHO" $MSC_VER_RAW | "$CUT" -d'.' -f3` if [ "${MSC_VER_MAJOR}" -eq 14 -a "${MSC_VER_MINOR}" -eq 0 -a "${MSC_VER_MICRO}" -eq 30701 ] ; then # This said 1400 but it was really more like VS2003 (VC7) in terms of options MSC_VER=1399 else MSC_VER=`"$EXPR" $MSC_VER_MAJOR \* 100 + $MSC_VER_MINOR` fi
解决办法二
自行截取版本号:
if [ "x$FORCE_MSC_VER" != "x" ]; then echo "MSC_VER=$FORCE_MSC_VER" else MSC_VER_RAW=`cl 2>&1 | "$HEAD" -n 1 | "$SED" 's/.*Version[\ ]*\([0-9][0-9.]*\).*/\1/'` MSC_VER_RAW=`cl 2>&1 | "$HEAD" -n 1 | "$SED" 's/.*编译器[\ ]*\([0-9][0-9.]*\).*/\1/'` # MSC_VER_RAW=16.00.303109.01