環境:
Windows 7 64位 VS2013
windows 10 / VS2015
目標: 在vs2013(VS2015)中集成yasm編譯環境,使用asm和c++相互調用。
地址: yasm 下載 http://yasm.tortall.net/Download.html
1。下載vsyasm
2。 把win32的vsyasm.exe放在$(VS安裝目錄)\VC\BIN裏面,把Win64的vsyasm.exe放在$(VS安裝目錄)\VC\BIN\amd64裏面。
PS:32位的cl.exe和32位vsyasm.exe放在一個目錄,編譯不會出錯,否則會失敗。
3。按readme,把vsyasm.props、vsyasm.targets、vsyasm.xml(32位和64位的zip裏面的3個文件是一樣的)放在C:\Program
Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations目錄。
VS2015應該是:C:\Program
Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations目錄
4。readme裏面的是英文的適用vs2010,vS2013(VS2015)裏面設置是在
項目名字->右鍵->生成依賴項->生成自定義,打勾vsyasm。
然後,在.asm文件,右鍵 ,屬性->常規->項類型裏面選擇Yasm Assembler,確定。
5。編譯。
關於Windows10/VS2015的重要說明:
Windows10/VS2015的命令行可能對傳入的參數大小寫做了限制:vsyasm
-f Win32 就會出錯.
vsyasm:
FATAL: unrecognized object format `Win32'
改成vsyasm
-f win32,就可以編譯。
vs2015使用vsyasm編譯.asm文件,需要更改vsyasm.props裏面-f
$(Platform) , 改成 -f win32 或者 -f win64。
因爲$(Platform)
解析出來是Win32或者Win64,帶有大寫字母,所以vsyasm不能識別。