C'est pas lié au fait que l'IDE essaie de copier temporairement les fichiers "quelque part" au moment de la compilation, de façon à reproduire l'arborescence de ses dossiers virtuels ?
Oui, c'est lié, si ma mémoire est bonne.
si c'est ça et que le fameux dossier "temporaire" est codé en dur sans passer par les variables d'environnement de Windows
Non, ou du moins, pas partout: dans mainunit.pas, accessible à partir de http://trac.godzil.net/gcc4ti/browser/trunk/tigcc/ide , on trouve
GetTempPath (SizeOf (TempDir), TempDir); Temp := AnsiString (TempDir); if (Length (Temp) <= 0) or (not DirExists (Temp)) then begin GetEnvironmentVariable ('TMP', TempDir, SizeOf (TempDir)); Temp := AnsiString (TempDir); end; if (Length (Temp) <= 0) or (not DirExists (Temp)) then begin GetEnvironmentVariable ('TEMP', TempDir, SizeOf (TempDir)); Temp := AnsiString (TempDir); end; if (Length (Temp) <= 0) or (Length (Temp) > 30) or (Pos (' ', Temp) > 0) or (Pos ('TEMP', UpperCase (Temp)) <= 0) then begin GetWindowsDirectory (TempDir, SizeOf (TempDir)); Temp := WithBackslash (AnsiString (TempDir)) + 'TEMP\'; if not DirExists (Temp) then try MkDir (Temp); except end; end; if (Length (Temp) <= 0) or (Length (Temp) > 30) or (Pos (' ', Temp) > 0) then begin Temp := 'C:\TEMP\'; if not DirExists (Temp) then try MkDir (Temp); except end; end; Temp := WithBackslash (Temp) + IntToHex (GetCurrentProcessID, 8) + '\'; if not DirExists (Temp) then try MkDir (Temp); except end;
( http://trac.godzil.net/gcc4ti/browser/trunk/tigcc/ide )