проблема с qt и mingw
почему он не находит g++, хотя тот же g++.exe есть и доступен по путям?Точно доступен? g++ --version что выдает?
— QTDIR set to C:\Qt\4.2.3
— PATH set to C:\Qt\4.2.3\bin
— Adding C:\MinGW\bin to PATH
— Adding C:\WINDOWS\System32 to PATH
— QMAKESPEC set to win32-g++
C:\Qt\4.2.3>g++
"g++" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
C:\Qt\4.2.3>c:\mingw\bin\g++
"c:\mingw\bin\g++" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
C:\Qt\4.2.3>c:\mingw\bin\g++.exe
g++.exe: no input files
C:\Qt\4.2.3>c:\mingw\bin\g++ --version
"c:\mingw\bin\g++" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
C:\Qt\4.2.3>c:\mingw\bin\g++.exe --version
g++.exe (GCC) 3.4.2 (mingw-special)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
А почему бы mingw/bin в %PATH% не добавить?
Вот это странно. Обычно для винды не нужно указывать расширение для исполняемых файлов типа .exe, .bat, .cmd и т.п. Похоже, что либо вирус какой-нибудь эти настройки попортил, либо чем-то не нравятся плюсы в g++.
еще меня смущает кое-что из раздела про exe в реестре:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\O
penSaveMRU\exe]
"a"="D:\\Distrib\\firefox\\Firefox Setup 2.0.0.7.exe"
"MRUList"="ajighfebdc"
"b"="D:\\Distrib\\surfit\\surfit-2.1-setup.exe"
"c"="D:\\Distrib\\midlet pascal\\MPInstall202.exe"
"d"="D:\\Distrib\\extrema\\extremaInstall-v4.2.3.exe"
"e"="D:\\Distrib\\surfit\\funner-2.1beta-setup.exe"
"f"="C:\\Library\\FANTAST\\stalker\\Books_001.exe"
"g"="C:\\Qt\\4.2.3\\examples\\widgets\\imageviewer\\release\\imageviewer.exe"
"h"="C:\\Qt\\4.2.3\\user\\qcolormap\\release\\qcolormap.exe"
"i"="D:\\Distrib\\NOD32\\ndntENad64(2.51.20).exe"
"j"="D:\\Distrib\\NOD32\\NOD32.FiX.v2.1-nsane.exe"
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU]
"a"="cmd\\1"
"MRUList"="pyekjoxhwvtgbrunlqsidaczfm"
"b"="regedit\\1"
"c"="\\\\films.hackers\\1"
"e"="\\\\green\\incoming\\\\1"
"f"="\\\\gluk.hackers\\\\1"
"g"="\\\\172.16.56.217\\Films\\Документальные\\1"
"j"="calc\\1"
"k"="mspaint\\1"
"q"="C:\\Мои документы\\Мои рисунки\\tmp2.PNG\\1"
Не то, по всей видимости.
Я бы попробовал две вещи: проверить нормально ли вызываются другие *.exe (без '+' в названии добавить директорию в %PATH% в системе, а не в qt
в файле C:\Qt\4.2.3\bin\make.bat дописал экзе:
@echo off
mingw32-make.exe %*
в файле C:\Qt\4.2.3\mkspecs\win32-g++\qmake.conf
заменил g++ на g++.exe в следующих местах
QMAKE_CXX = g++.exe
QMAKE_LINK = g++.exe
запускаю для компиляции и линковки не make, а
make -f Makefile.Release
после этого, хоть и долго, хоть и криво (в смысле, что дебаг недоступен но работает
Оставить комментарий
Elina74
как обычно хочу скомпилить свой прожект, запускаю Qt command promptSetting up a MinGW/Qt only environment...
— QTDIR set to C:\Qt\4.2.3
— PATH set to C:\Qt\4.2.3\bin
— Adding C:\MinGW\bin to PATH
— Adding C:\WINDOWS\System32 to PATH
— QMAKESPEC set to win32-g++
пишу в папке, где находится проект
C:\Qt\4.2.3\user\dialog>make
"make" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
хотя в переменной path есть пути и к MinGW\bin и к Qt\4.2.3\bin
содержимое C:\Qt\4.2.3\bin\make.bat :
@echo off
mingw32-make %*
C:\Qt\4.2.3\user\dialog>echo %path%
C:\Qt\4.2.3\bin;C:\MinGW\bin;C:\WINDOWS\System32
убеждаюсь, что в MinGW\bin есть требуемый mingw32-make.exe
C:\Qt\4.2.3\user\dialog>dir c:\MinGW\bin
Содержимое папки c:\MinGW\bin
...
21.09.2004 12:13 90 624 g++.exe
21.09.2004 12:13 90 624 mingw32-c++.exe
21.09.2004 12:13 90 624 mingw32-g++.exe
21.09.2004 12:15 88 064 mingw32-gcc-3.4.2
21.09.2004 12:15 88 064 mingw32-gcc.exe
19.06.2003 12:52 1 069 568 mingw32-make.exe
13.01.2005 23:19 15 960 mingwm10.dll
...
пытаюсь его запустить
C:\Qt\4.2.3\user\dialog>"c:\MinGW\bin\mingw32-make.exe"
c:/MinGW/bin/mingw32-make.exe -f Makefile.Release
mingw32-make.exe[1]: Entering directory `C:/Qt/4.2.3/user/dialog'
g++ -c -O2 -O2 -frtti -fexceptions -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_D
LL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN
-I"C:/Qt/4.2.3/include/QtCore" -I"C:/Qt/4.2.3/include/QtCore" -I"C:/Qt/4.2.3/in
clude/QtGui" -I"C:/Qt/4.2.3/include/QtGui" -I"C:/Qt/4.2.3/include" -I"C:/Qt/4.2.
3/include/ActiveQt" -I"tmp\moc\release_shared" -I"." -I"..\..\mkspecs\win32-g++"
-o tmp\obj\release_shared\main.o main.cpp
"g++" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
mingw32-make.exe[1]: *** [tmp\obj\release_shared\main.o] Error 1
mingw32-make.exe[1]: Leaving directory `C:/Qt/4.2.3/user/dialog'
c:\MinGW\bin\mingw32-make.exe: *** [release] Error 2
почему он не находит g++, хотя тот же g++.exe есть и доступен по путям?
ничего не понимаю
сломалось сегодня, переставлял и Qt и MinGW
есть подозрение на вирусы, но как они могут мешать в данном случае?