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文件的項目 編譯即可成功。附圖