vs2019中集成自定义构建工具nasm


vs编译器编译包含汇编文件的代码时出错:

使用vs2019编译开源库truecrypt时报错:

'nasm' 不是内部或外部命令,也不是可运行的程序或批处理文件。

原因:

由于源代码的Crypt模块中包含中包含Aes_hw_cpu.asm和Aes_x86.asm两个汇编源文件,我的vs2019中并没有依赖集成nasm编译器。

简单解决方法:

在https://www.nasm.us/pub/nasm/releasebuilds/?C=M;O=D下载最新版本的nasm

 (可选择不同平台下的nasm版本下载)

然后到CodeProject下载NASM的VS配置文件,下载地址:https://www.codeproject.com/Articles/410776/Integrating-a-compiler-assembler-in-VS-Using-NASM

下载时注意:可以下载nasm安装程序,也可以下载zip文件(无需安装,解压后即可使用)

别忘了,把你的nasm路径 添加到环境变量中

下载下来的zip里包含三个配置文件:

 

这三个配置文件我们要放到哪里才能集成到vs里呢?

最重要的一步,必须找到vs2019的自定义构建生成依赖项时其他配置文件的存放路径(需要根据每个人的vs安装路径来找),

这里以俺自己的安装路径说明:

D:\Microsoft Visual Studio\2019\MSBuild\Microsoft\VC\v160\BuildCustomizations

把上步下载下来的三个配置文件解压,然后拷贝到上面这个路径下即可。

完成上面所有过程后,如果vs在运行需要重启下vs.

导入包含asm文件的项目 编译即可成功。附图