[QBS] Target pathnames getting too long on Windows

Thomas Epting thomas.epting.stryker at gmail.com
Mon Sep 22 15:52:29 CEST 2014


Hi all,

I had never thought that, but even on current versions of Windows there is
a 260 character limit for file paths (see
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247%28v=vs.85%29.aspx).
This means that each single file path passed as an argument (e.g. to
compiler or linker) cannot be longer than 260 characters.

Now with the new target structure introduced in Qbs 1.3 one can easily
exceed this limit. In this version, the target structure is composed of
these these parts (at least for MSVC):

*D:\*<targetpath>*\*<profile>*-release\*<productname>*.*<profile>*\.obj\*
<srcpath>*\*<filename>*.cpp.obj*

There are 29 characters which are "fixed". Consider <targetpath> and
<srcpath> having are about 70 chars each, and <profile> about 25. This is
not too much for a large project. You'll end up with 219 characters. In
this case, only 40 chars are left for <filename> and <productname>, which
sometimes simply isn't enough.

In my opinion (futer versions of) Qbs should consider this Windows limit
and provide a way around it. What do you think?

Regards,
Thomas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/qbs/attachments/20140922/533bfe9d/attachment.html>


More information about the Qbs mailing list