Sur Linux et Windows, on a la même limite à 255/260 octets pour un nom (basename) de fichier ou de répertoire. Dans le cas d'une compilation, ce n'est généralement pas un problème parce que les nom de fichier/répertoire (basename) aussi longs, ça ne court pas les rues.
La limite qui devient vite génante pour une compilation, c'est celle du chemin complet depuis la racine (readlink -f), c'est facile de constuire un chemin absolu trop long si l'arborescence du code source est un peu profonde. Et le probleme sous windows, c'est que la limite à 260 porte sur le chemin complet, alors que sous Linux ca doit plutot être 4096 (à verifier).
on vient de créer un répertoire dont le chemin absolu est long de 391 octets, chaque element étant <= 128 octets.
La même chose sous Seven SP1 :
c:\> set a=0123456789ABCDEF
c:\> set b=%a%%a%%a%%a%%a%%a%%a%%a%
c:\> mkdir c:\temp\%b%
c:\> mkdir c:\temp\%b%\%b
c:\> mkdir c:\temp\%b%\%b\%b
Le chemin d'accès complet c:\temp0123456789円...ABCDEF est trop long.
Et c'est bien un problème d'API, pas du filesystem, les trois premieres lignes de bash passent très bien sous Cygwin et le répertoire est accessible dans l'explorateur.
[^] # Re: choix de dossier
Posté par shbrol . En réponse à la dépêche LibreSSL 2.3.3. Évalué à 10.
Sur Linux et Windows, on a la même limite à 255/260 octets pour un nom (basename) de fichier ou de répertoire. Dans le cas d'une compilation, ce n'est généralement pas un problème parce que les nom de fichier/répertoire (basename) aussi longs, ça ne court pas les rues.
La limite qui devient vite génante pour une compilation, c'est celle du chemin complet depuis la racine (readlink -f), c'est facile de constuire un chemin absolu trop long si l'arborescence du code source est un peu profonde. Et le probleme sous windows, c'est que la limite à 260 porte sur le chemin complet, alors que sous Linux ca doit plutot être 4096 (à verifier).
Par exemple, sur un Linux:
on vient de créer un répertoire dont le chemin absolu est long de 391 octets, chaque element étant <= 128 octets.
La même chose sous Seven SP1 :
Et c'est bien un problème d'API, pas du filesystem, les trois premieres lignes de bash passent très bien sous Cygwin et le répertoire est accessible dans l'explorateur.