Details
-
Bug
-
Resolution: Done
-
P2: Important
-
None
-
Qt Creator 4.8.0
-
Desktop
-
-
075ea485c5006c3715e252737adefd074c95f016 (qt-labs/jom/master)
Description
When compiling and files are deeply nested, build fails. Shortening the path solves the problem.
For exammple
Error: dependent '..\..\..\..\Binary\Product1\windows-x86-msvc2017-amd64\Relea
se\include\Messages\autogen\SystemPerformanceReportMessages.a.h' does not
exist.
But, the file exists and the relative path is correct. Reducing the overall
path length fix the issue.
The full expanded path is
C:\Jenkins\workspace\TestWorkflowKit\trunk\Experimental_windows_x86_msvc2017_a
md64_c\build_release\Product1\Application\SystemPerformanceReport\..\..\..\..\
Binary\Product1\windows-x86-msvc2017-amd64\Release\include\Messages\autogen\Sy
stemPerformanceReportMessages.a.h
This eventually exceeds the 260 character path length restriction in Windows API (ANSI).
If JOM uses unicode function GetFileAttributesExW in FastFileInfo::FastFileInfo() instead of the ANSI version then it solves the problem.
Attached patch solves the problem.
Attachments
Issue Links
- is duplicated by
-
QTCREATORBUG-26865 Jom doesn't handle long paths correctly
- Closed