ビルドが "No such file or directory" エラーで失敗する

現象

ファイルが存在するのに No such file or directory エラーが発生する。

g++: error: C:\GCC4\ARM\s007\test\very-very-very-very-very-very-very-very-very-very-long-long-long-long-long-long-long-long-long-long\very-very-very-very-very-very-very-very-very-very-long-long-long-long-long-long-long-long-long-long\very-very-very-very-over-259\sort1.cpp: No such file or directory

g++: fatal error: no input files

compilation terminated.

原因

exeGCC のコンパイラやツール類の入力ファイルのパス長は最大 259 文字(< MAX_PATH)までとなります。また、非 ASCII 文字にも対応していません。

この制限は Windows 10 バージョン 1607 以降でレジストリキー Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled (Type: REG_DWORD) が存在し、1 に設定されている場合でも緩和されません。

解決方法

ソリューションを非 ASCII 文字を含まない短いパスの場所に移動してください。