Сбой компиляции Qt в Windows - PullRequest
0 голосов
/ 24 октября 2011

У меня есть приложение Qt (CWB), которое я поддерживаю в Linux и Windows.Он прекрасно компилируется в Linux, а прекрасно компилировался в Windows до последних нескольких дней.Теперь происходит сбой при попытке скомпилировать файл ресурсов проекта.Вот вывод mingw32-make -f Makefile.Release (из Cygwin, чтобы я мог видеть все выходные данные - на панели Compile Output не отображаются выходные данные из g ++ или cc1plus):

g++.exe: releaseqrc_CWB.cpp: No such file or directory
g++.exe: no input files
mingw32-make: *** [release/qrc_CWB.o] Error 1

Обратите внимание на отсутствие разделителя между каталогом и именем файла.Файл, который он запрашивает, находится там:

-rw-r--r-- 1 scott None 1261426 Oct 24 12:25 release/qrc_CWB.cpp

Вот полный вывод панели Compile Output в Qt Creator:

C:/QtSDK/mingw/bin/mingw32-make -f Makefile.Release
mingw32-make[1]: Entering directory `G:/Expert/src/app/CWB-build-mingw'
g++ -c -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"c:\QtSDK\Desktop\Qt\4.7.3\mingw\include\QtCore" -I"c:\QtSDK\Desktop\Qt\4.7.3\mingw\include\QtNetwork" -I"c:\QtSDK\Desktop\Qt\4.7.3\mingw\include\QtGui" -I"c:\QtSDK\Desktop\Qt\4.7.3\mingw\include\QtSql" -I"c:\QtSDK\Desktop\Qt\4.7.3\mingw\include" -I"..\..\include" -I"c:\Program Files\Expat 2.0.1\Source\lib" -I"c:\qwt-5.2.1\src" -I"c:\sqlite-amalgamation-3070701" -I"c:\QtSDK\QtSources\4.7.3\src\3rdparty\sqlite" -I"c:\Python27\include" -I"c:\QtSDK\Desktop\Qt\4.7.3\mingw\include\ActiveQt" -I"release" -I"." -I"..\CWB" -I"." -I"c:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\win32-g++" -o release\qrc_CWB.o release\qrc_CWB.cpp
mingw32-make[1]: Leaving directory `G:/Expert/src/app/CWB-build-mingw'
mingw32-make[1]: *** [release/qrc_CWB.o] Error 1
mingw32-make: *** [release] Error 2
The process "C:\QtSDK\mingw\bin\mingw32-make.exe" exited with code 2.
Error while building project CWB (target: Desktop)
When executing build step 'Make'

Я попытался добавить двойные кавычки вокруг имени файла вMakefile:

release/qrc_CWB.o: release/qrc_CWB.cpp 
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "release\qrc_CWB.o" "release\qrc_CWB.cpp"

Вот результат:

cc1plus.exe: error: release\qrc_CWB.cpp: Invalid argument
mingw32-make: *** [release/qrc_CWB.o] Error 1

Я также попытался заменить обратные слэши на прямые косые черты в Makefile.Release, но это тоже не сработало.Все остальное компилируется нормально, и этот был компилировался нормально до этой недели.Глядя на журнал установки, видимо, в прошлую пятницу было сделано какое-то обновление, о котором я не помню,Я попытался сделать полное обновление, которое завершилось успешно, исходя из теории, что любое обновление, произошедшее в пятницу, было завершено только частично, и я получаю точно такие же результаты.Это только файл qrc, который не удается скомпилировать.Все остальное компилируется нормально.Я в тупике.Есть идеи?

Обновление (вторник, 25 октября 11:03:51 ПО ВОСТОЧНОМУ ВРЕМЕНИ 2011):

Я свел это к самому необходимому:

$ gcc -c release/qrc_CWB.cpp
cc1plus.exe: error: release/qrc_CWB.cpp: Invalid argument

То же самое для других вариантов имени файла, включая "release\qrc_CWB.cpp" и release\qrc_CWB.cpp.Аналогично тот же результат для g++ вместо gcc.

...