共用方式為


命令列錯誤 D8049

無法執行 ' compiler-component ': 命令列太長而無法放入偵錯記錄中

已超過偵錯記錄的內部長度限制,包括路徑。

備註

當編譯器在物件檔中建立偵錯記錄時,它會針對每個包含的檔案使用完整路徑。 絕對路徑會記錄為指定。 針對相對包含路徑,偵錯記錄會將組建的目前工作目錄前面加上相對路徑。 如果您的組建在相對深的路徑中執行,對應的路徑記錄會較長。 太多路徑的總長度可能會超過編譯器的內部限制。

若要解決此問題

  • 針對包含和建置目錄使用較短的路徑。 在具有較短路徑的目錄中安裝程式庫包含標頭,並使用專案中繼和目的地建置目錄的簡短路徑。 如果您別名路徑,請使用簡短別名。 將 和 %TEMP% 設定 %TMP% 為路徑較短的目錄。

  • 將您的 include 檔案優化為任何指定原始程式檔所需的最小集合。 此方法也有加速編譯時間的優點。 如果您使用先行編譯標頭,請務必優化您在先行編譯標頭檔中所包含的標頭集。 在複雜的解決方案中,可能值得建立針對專案不同部分優化的不同先行編譯標頭。 如果您的程式碼使用 C++20,建議您優先使用模組或標頭模組來先行編譯標頭。