Есть одна удивительная особенность сборки приложений связки Qt/MinGW — нельзя собрать приложение из будущего :)
Не ясно зачем, не ясно как, но вполне возможно, что когда-нибудь Вы встретите такую ошибку:
mingw32-make: Leaving directory `D:/WorkProjects/TestProject' mingw32-make: Entering directory `D:/WorkProjects/TestProject' c:\qt\2010.02\qt\bin\qmake.exe -spec ..\..\Qt\2010.02\qt\mkspecs\win32-g++ -win32 -o Makefile TestProject.pro mingw32-make: Leaving directory `D:/WorkProjects/TestProject' mingw32-make: Entering directory `D:/WorkProjects/TestProject' c:\qt\2010.02\qt\bin\qmake.exe -spec ..\..\Qt\2010.02\qt\mkspecs\win32-g++ -win32 -o Makefile TestProject.pro mingw32-make: Leaving directory `D:/WorkProjects/TestProject' mingw32-make: Entering directory `D:/WorkProjects/TestProject' c:\qt\2010.02\qt\bin\qmake.exe -spec ..\..\Qt\2010.02\qt\mkspecs\win32-g++ -win32 -o Makefile TestProject.pro mingw32-make: Leaving directory `D:/WorkProjects/TestProject' mingw32-make: Entering directory `D:/WorkProjects/TestProject' c:\qt\2010.02\qt\bin\qmake.exe -spec ..\..\Qt\2010.02\qt\mkspecs\win32-g++ -win32 -o Makefile TestProject.pro mingw32-make: Leaving directory `D:/WorkProjects/TestProject' mingw32-make: Entering directory `D:/WorkProjects/TestProject' c:\qt\2010.02\qt\bin\qmake.exe -spec ..\..\Qt\2010.02\qt\mkspecs\win32-g++ -win32 -o Makefile TestProject.pro mingw32-make: Leaving directory `D:/WorkProjects/TestProject' mingw32-make: Entering directory `D:/WorkProjects/TestProject' c:\qt\2010.02\qt\bin\qmake.exe -spec ..\..\Qt\2010.02\qt\mkspecs\win32-g++ -win32 -o Makefile TestProject.pro
И так до бесконечности.
Как ни странно, но с большей долей вероятности, дело в системной дате или дате исходников — если они условно говоря «из будущего», относительно внутреннего времени системы, то результат показан выше. Да, он может проявляться не всегда, но часто бывает на этом затык.
В общем, думаю, лекарство ясно — вернитесь назад в будущее :)
Comments
Думаю, Qt тут совершенно ни при чём. Дело в алгоритме работы утилиты make, которая использует дату изменения файла для определения необходимости его пересборки.
Да и не только make использует временные метки, вообще, с системным временем шалить не стоит.
Вполне возможно. Я просто не раз встречался с данной проблемой у других людей именно в разрезе сборки Qt проектов, поэтому предполагаемое решение выкладываю под данной эгидой, дабы поиск мог легко вывести страждущих на решение.
Совершенно согласен насчет системного времени :)
в первый раз (и далее чаще всего) сталкивался с подобной ошибкой во время сборки gentoo. смены часового пояса обычно достаточно чтоб удивился и провел пару часов (ну смотря на сколько дата изменилась) в шоке
Прикольно, нужно будет запомнить, да заголовок сменить.
У меня была такая ошибка, когда я пытался скомпилить QtCreator. Меня всё бесило, что не могу понять, откуда зацикливание. Теперь будем-с знать )