在 Windows 7 + VS2010 環境下編譯 VirtualDub 時,常因組語編譯器 yasm 整合不當導致 'yasm' 不是內部或外部命令 錯誤。以下是完整解決流程:
yasm.exe 放入系統 PATH 目錄(如 C:\Windows 或專案工具目錄),並驗證 CMD 執行 yasm --version 正常輸出。.rules 規則確認 yasm 呼叫路徑正確。Command Line 參數包含正確的輸入/輸出路徑與架構旗標(如 -f win64)。| 錯誤現象 | 原因 | 解決方式 |
|---|---|---|
'yasm' 不是內部命令 | PATH 未生效或 yasm.exe 檔名錯誤 | 重啟 VS2010 讓 PATH 生效;確認檔名為 yasm.exe 非 yasm-1.3.0.exe |
| 組語語法錯誤 | yasm 版本與 .asm 檔不相容 | 使用 VirtualDub 官方建議的 yasm 版本 |
| 連結錯誤 LNK2001 | .obj 未產出或架構不符 | 檢查自訂建置步驟輸出目錄與平台目標一致 |
官方文件雖有說明,但版本差異大,建議參考社群實測配置,逐步驗證 yasm 呼叫鏈路。若仍無法解決,可嘗試改用 VS2013 以上版本,相容性更佳。