“'m164' 未被识别为内部或外部命令”,使用 VS 2013 开发人员命令提示构建 OpenSSL
"'m164' is not recognized as an internal or external command", building OpenSSL using VS 2013 Developer Command Prompt
我在此处遵循为 Visual Studio 构建 OpenSSL 的指南:http://developer.covenanteyes.com/building-openssl-for-visual-studio/
显然,我只需要最新版本的 OpenSSL 源代码、Active Perl 或 Strawberry Perl,以及 Visual Studio 2010。我使用的是 2013,但我还是想试试看.当我执行 nmake 命令时,出现如下屏幕截图所示的错误:
我猜这是因为我使用的是 VS 2013 而不是 2010?有谁知道解决这个问题的方法,或者有谁知道我可以用来让 OpenSSL 在 VS 2013 中工作的指南?我正在使用 Windows 7 64 位。
我在 2016 年 6 月 26 日遇到了同样的错误。显然 m164.exe 是 AMD 板上的汇编程序(我使用的是 Intel,它是 ml.exe)。我无法解决它。但是32位版本没有同样的问题。
这对我有用:
显然这个问题是由我这边造成的,因为缺少环境变量设置。根据我安装的 OpenSSL 文档 Microsft Platform SDK
,此外,在我的机器上我有 Microsoft Visual Studio 2013
,但仍然必须设置环境变量,如下所述:
- 通过 运行
vcvars64.bat
批处理文件为 Visual-Studio
(我的情况是 2013)设置环境变量:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\vcvars64.bat
- [可选]
在我的机器上,情况是一些二进制文件已经构建,但是环境变量错误,所以我首先必须通过 运行 以下命令彻底清理构建环境:
nmake -f ms\ntdll.mak reallyclean
- 然后我按照
INSTALL.W64
文件中的描述重新开始构建过程:
perl Configure VC-WIN64A
ms\do_win64a
nmake -f ms\ntdll.mak
cd out32dll
..\ms\test
之后一切正常!
@PazO 的回答的第 1 部分帮助我最终找到了解决这个问题的方法,而@Hugh 的回答帮助我首先找出了问题所在。
这里的根本问题是您不应该寻找“m164.exe”,而应该寻找“ml[=42=” ]64.exe”。请注意小写字母 L 而不是数字 1。
问题中的 link 不再可用,所以我不知道拼写错误是在另一个库中还是手动创建的,但修复它理论上应该可以解决该场景中的问题。
以下是我认为可能对收到相同消息的其他人有用的附加信息。
现在开始正确设置您的环境。如果您安装了 Visual Studio,我不知道它是从哪个版本开始执行此操作的,但它会将快捷方式放入您的开始菜单中,以启动带有预配置环境的控制台。
以下,将[YEAR]
替换为Visual Studio的安装版本,如2019
.
有一个用于命令提示符或 powershell 的通用开发人员控制台,分别名为 Developer Command Prompt for VS [YEAR]
和 Developer PowerShell for VS [YEAR]
。
快捷方式文件夹可以通过打开 运行 并执行 shell:common start menu
,然后导航到 Programs\Visual Studio [YEAR]\Visual Studio Tools\VC\
找到。
或者,完整路径将类似于 %ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Visual Studio [YEAR]\Visual Studio Tools\VC\
。在这个目录中是特定架构的快捷方式(最终 运行 相应的 vcvars
.bat
文件)。此外,此文件夹上方包含上一段中提到的“开发人员”控制台。
为了完成起见,那些 vcvars
.bat
文件可以在 Visual Studio 的社区版本中 - 同样可以在 %ProgramFiles(x86)%\Microsoft Visual Studio\[YEAR]\Community\Auxiliary\Build\
目录中找到。
我在此处遵循为 Visual Studio 构建 OpenSSL 的指南:http://developer.covenanteyes.com/building-openssl-for-visual-studio/
显然,我只需要最新版本的 OpenSSL 源代码、Active Perl 或 Strawberry Perl,以及 Visual Studio 2010。我使用的是 2013,但我还是想试试看.当我执行 nmake 命令时,出现如下屏幕截图所示的错误:
我猜这是因为我使用的是 VS 2013 而不是 2010?有谁知道解决这个问题的方法,或者有谁知道我可以用来让 OpenSSL 在 VS 2013 中工作的指南?我正在使用 Windows 7 64 位。
我在 2016 年 6 月 26 日遇到了同样的错误。显然 m164.exe 是 AMD 板上的汇编程序(我使用的是 Intel,它是 ml.exe)。我无法解决它。但是32位版本没有同样的问题。
这对我有用:
显然这个问题是由我这边造成的,因为缺少环境变量设置。根据我安装的 OpenSSL 文档 Microsft Platform SDK
,此外,在我的机器上我有 Microsoft Visual Studio 2013
,但仍然必须设置环境变量,如下所述:
- 通过 运行
vcvars64.bat
批处理文件为Visual-Studio
(我的情况是 2013)设置环境变量:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\vcvars64.bat
- [可选]
在我的机器上,情况是一些二进制文件已经构建,但是环境变量错误,所以我首先必须通过 运行 以下命令彻底清理构建环境:nmake -f ms\ntdll.mak reallyclean
- 然后我按照
INSTALL.W64
文件中的描述重新开始构建过程:perl Configure VC-WIN64A
ms\do_win64a
nmake -f ms\ntdll.mak
cd out32dll
..\ms\test
之后一切正常!
@PazO 的回答的第 1 部分帮助我最终找到了解决这个问题的方法,而@Hugh 的回答帮助我首先找出了问题所在。
这里的根本问题是您不应该寻找“m164.exe”,而应该寻找“ml[=42=” ]64.exe”。请注意小写字母 L 而不是数字 1。
问题中的 link 不再可用,所以我不知道拼写错误是在另一个库中还是手动创建的,但修复它理论上应该可以解决该场景中的问题。
以下是我认为可能对收到相同消息的其他人有用的附加信息。
现在开始正确设置您的环境。如果您安装了 Visual Studio,我不知道它是从哪个版本开始执行此操作的,但它会将快捷方式放入您的开始菜单中,以启动带有预配置环境的控制台。
以下,将[YEAR]
替换为Visual Studio的安装版本,如2019
.
有一个用于命令提示符或 powershell 的通用开发人员控制台,分别名为 Developer Command Prompt for VS [YEAR]
和 Developer PowerShell for VS [YEAR]
。
快捷方式文件夹可以通过打开 运行 并执行 shell:common start menu
,然后导航到 Programs\Visual Studio [YEAR]\Visual Studio Tools\VC\
找到。
或者,完整路径将类似于 %ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Visual Studio [YEAR]\Visual Studio Tools\VC\
。在这个目录中是特定架构的快捷方式(最终 运行 相应的 vcvars
.bat
文件)。此外,此文件夹上方包含上一段中提到的“开发人员”控制台。
为了完成起见,那些 vcvars
.bat
文件可以在 Visual Studio 的社区版本中 - 同样可以在 %ProgramFiles(x86)%\Microsoft Visual Studio\[YEAR]\Community\Auxiliary\Build\
目录中找到。