'nmake' 不是内部或外部命令,VCVARS32.BAT路径问题
2014-5-24
VC运行不正确基本上都是路径的问题,今天在进行Openssl开发的环境搭建时,需要使用nmake进行源码和库的编译。
其中如果直接在dos中直接输入nmake指令的话可能会出现以下错误:
'nmake' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
此时应该找到VC6.0或VS安装路径下的VCVARS32.BAT进行路径的自动配置。其中VC下的此文件在路径..VC98Bin 下。运行VCVARS32.BAT文件后,上述错误仍然存在,找了很久都没有发现原因在哪里。之后阅读了VCVARS32.BAT文件内容如下:
@echo off
rem
rem Root of Visual Developer Studio Common files.
set VSCommonDir=F:VC++6.0
rem
rem Root of Visual Developer Studio installed files.
rem
set MSDevDir=F:VC++6.0MSDev98
rem
rem Root of Visual C++ installed files.
rem
set MSVCDir=F:VC++6.0VC98
rem
rem VcOsDir is used to help create either a Windows 95 or Windows NT specific path.
rem
set VcOsDir=WIN95
if "%OS%" == "Windows_NT" set VcOsDir=WINNT
rem
echo Setting environment for using Microsoft Visual C++ tools.
rem
if "%OS%" == "Windows_NT" set PATH=%MSDevDir%BIN;%MSVCDir%BIN;%VSCommonDir%TOOLS\%VcOsDir%;%VSCommonDir%TOOLS;%PATH%
if "%OS%" == "" set PATH="%MSDevDir%BIN";"%MSVCDir%BIN";"%VSCommonDir%TOOLS\%VcOsDir%";"%VSCommonDir%TOOLS";"%windir%SYSTEM";"%PATH%"
set INCLUDE=%MSVCDir%ATLINCLUDE;%MSVCDir%INCLUDE;%MSVCDir%MFCINCLUDE;%INCLUDE%
set LIB=%MSVCDir%LIB;%MSVCDir%MFCLIB;%LIB%
set VcOsDir=
set VSCommonDir=
其中红色部分是要改成正确的路径的,之前把VC的路径整理了一遍,结果没有注意改动这个文件,也就说系统原来安装时的配置路径也没有改动,致使找不到相应的指令操作。所以在对VC的安装路径进行移动的时候,要注意相关路径的设置。这里我将红色部分的路径改正确后,再运行该文件。执行nmake文件就成功了。此外原来VC助手也起作用了,之前不管怎么安装配置VC助手都不起反应,现在终于发现原因出在这里。
所以在以后更改VC路径后一定要注意库的路径以及环境变量的路径的更改。