G не является внутренней или внешней командой исполняемой программой или пакетным файлом
Я очень плохо знаком с c ++ и использую командную строку.
У меня есть несколько файлов .cpp и .h, которые отлично работают на моей IDE (Code :: blocks), работающей под управлением GNU GCC в качестве компилятора. Он также отображает то, что мне нужно, но когда я пытаюсь использовать командную строку и набираю «g ++ file1.cpp file2.cpp ….» then «./a.out
Я получаю ошибку «.» не распознается как внутренняя или внешняя команда, работающая программа или пакетный файл. «У меня есть cygwin64 с соответствующим g ++, cdb, установленными пакетами и настройкой пути.
Решение
В командная строка Вы просто добавляете исполняемое имя файла (например, out.exe )
В PowerShell запустить исполняемый файл как .\out.exe ,
Например, компиляция "hello.cpp" в исполняемый файл "hello.exe" за один шаг и запустив его:
Создать exe файл с использованием объектных файлов:
Другие решения
Я предполагаю, что вы следуете рецепту или учебнику, который был разработан для Unix-подобных систем, таких как Linux, но вы используете Windows.
В Linux персонаж . означает текущий каталог, а косая черта / является разделителем каталогов. Итак, это:
ссылается на файл с именем a.out в текущем каталоге.
В Windows . все еще ссылается на текущий каталог, но вместо прямой косой черты, обратной косой черты \ используется для разделения каталогов. Итак, это:
ссылается на файл с именем a.out в текущем каталоге.
Однако это еще не ответ: в Linux, если вы не укажете иное, команда g ++ создаст исполняемый файл с именем a.out (странное имя, но оно названо так по историческим причинам). Однако в Windows это недопустимое имя для исполняемого файла, поскольку Windows требует, чтобы исполняемые файлы заканчивались на .exe , В результате, если вы не укажете другой способ, исполняемый файл будет назван:
Еще одно отличие: в Windows путь по умолчанию включает текущий каталог, поэтому вам даже не нужно указывать .\ на передней.
При попытке собрать библиотеку выдает "qmake не является внутренней или внешней командой". Что-то не так прописано?
Настройки переменных сред:
QTDIR
C:\QtSDK
Path
C:\PROGRA~1\Borland\CBUILD~1\Bin;
C:\PROGRA~1\Borland\CBUILD~1\Projects\Bpl;
C:\Program Files\AMD APP\bin\x86;
%SystemRoot%\system32;
%SystemRoot%;
%SystemRoot%\System32\Wbem;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;
C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;
c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;
c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;
C:\Program Files\Common Files\Acronis\SnapAPI\;
C:\Program Files\Linter\bin;
%QTDIR%\QtCreator\bin;
%QTDIR%\mingw\bin
Else не является внутренней или внешней командой
Здравствуйте, недавно захотелось создать батник по оптимизации ПК(я в этом деле новичок, не судите.
Не является внутренней или внешней командой
Подскажите, из-за чего возникает проблема с "любая команда bat" не является внутренней или внешней.
Python не является внутренней или внешней командой
Добавил в переменную path путь к питону, точнее к скриптам, но ничего не выходит, кс до сих пор.
Virtualenv (sourse не является внутренней или внешней командой)
После создания виртуального окружения я его запускаю ОС Windows sourse env/Scripts/activate.
Использую Qt Creator из пакета.
А тут настраивал субд по мануалу, там драйвер собирается через командную строку
qmake лежит тут - C:\QtSDK\Desktop\Qt\4.7.4\mingw\bin\qmake.exe
Путь до qmake не включен в PATH
C:\QtSDK\Desktop\Qt\4.7.4\mingw\bin
Он по умолчанию не включен
Просто предполагается что сборка ведется через QtCreator, который знает где находится нужный qmake
Ведь QtCreator может работать с разными версиями Qt
Просто когда я кампилировал драйвер я прямо в Creatore проект открывал, добавлял нужную либу и компили. Позавчера как раз наткнулся на ошибку как у тебя, но только в самом Creatore.
Исправил как:
1) Инструменты->параметры. ->Qt4 - там есть автооприделённая папка qt(но у меня её ни один Creator нормально не опредиляет) и особая, в которой указываю путь к qmake.exe и каталог MinGW(насколько я понял по надписям при компиляции относительно qmake в опредилённых директориях располагаются ещё разные exe или что-то подобное).
2) Проверив что есть настроеный каталог для Qt(предыдущий пункт). Справа выбираешь "Проекты" и там выбираешь "профиль", который только что настраивал(или если был рабочий).
Вот так я избавился от ошибки
qmake лежит тут - C:\QtSDK\Desktop\Qt\4.7.4\mingw\bin\qmake.exe
Путь до qmake не включен в PATH
C:\QtSDK\Desktop\Qt\4.7.4\mingw\bin
Он по умолчанию не включен
Просто предполагается что сборка ведется через QtCreator, который знает где находится нужный qmake
Ведь QtCreator может работать с разными версиями Qt
Переписал QMAKESPEC:
%QTDIR%\mingw\bin\mingw32-g++.exe
и прописал в Path
%QTDIR%\QtCreator\bin;
%QTDIR%\mingw\bin;
%QTDIR%\Desktop\Qt\4.8.0\msvc2010\bin
"gulp" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
что делать.
чувствую проблема в системных переменных
Повторите полностью как я написал:
1. Удалите NodeJS полностью
2. Установите заново
3. В консоль npm install -g gulp
4. Перезагружаем компьютер (не пропускайте этот пункт).
У меня тоже не запускается, если запускать так: npm gulp [task_name]
но если в package.json в переменной scripts прописать команды в которых участвует gulp, то у меня все работает.
Для примера публикую кусок package.json
Я запускаю npm run start или npm run build все работает, как и любые команды если их прописать в package.json
Вместо [task_name] нужно прописать свою команду. ))
На Windows 8 работаю. Появилась та же ошибка.
Открываем терминал(командную строку), пишем:
npm ls gulp
> `-- gulp@4.0.2 -> C:\Users\kubris.pro\AppData\Roaming\npm\node_modules\gulp //
npm ls -g gulp
> C:\Users\kubris.pro\AppData\Roaming\npm
`-- gulp@4.0.2
Если через npm видно стоящие галпы, т.е. локально и глобально, значит ошибка в путях (PATH). Как она возникла, когда раньше все работало - не знаю, но она появилась. Если не видно надписей про Gulp, значит он не установлен.
Далее прописываем пути:
- Мой компьютер - свойства - Дополнительные параметры системы =>
- Свойства системы - Переменные среды (ПС).
В ПС два окна - верхнее пишет пути пользователя, нижнее - системы.
В верхнем окошке, в левой колонке ищем "PATH", залазим внутрь, любуемся строчкой "Значение переменной". В нее, в самый ее конец, если там уже что-то написано, вставим ответ системы, вылезший после команды "npm ls gulp", а именно: "C:\Users\kubris.pro\AppData\Roaming\npm\node_modules\" => жмем OK.
В нижнем окошке так же ищем PATH и проделываем аналогичные инструкции, только вставляем ответ при поиске глобальной переменной: "C:\Users\kubris.pro\AppData\Roaming\npm".
Закрываем терминал, открываем, пишем gulp --version. Если версию Gulp пронаблюдали, значит всё, мы всё починили.
p.s. Если не наблюдаем, тогда открываем браузер и пишем в нем:
"gulp не является внутренней или внешней командой"
p.p.s Может, все это можно вставить и в одном любом окне , но мне показалось логичней сделать так, как я сделал.
В моем случае проблема была решена следующим образом (Win10)
1) Удаление nodejs (вместе с локальными папками node_modules и глобальными папками в C:\Users\User\AppData\Roaming\npm и C:\Users\User\AppData\Roaming\npm-cache)
2) Установка nodejs
3) Запуск консоли (cmd или conemu в моем случае) от администратора.. (и не важно, является ли ваш юзер админом..)
4) установка gulp в глобальную папку - "npm install -g gulp"
5) важно на этом моменте проконтролировать наличие файла C:\Users\User\AppData\Roaming\npm\gulp.cmd и наличие пути до этого файла в системных переменных PATH.
Причины ошибки «Не является внутренней или внешней командой» при выполнении команд в командной строке Windows 10 и Windows 11
Для того, чтобы понять суть ошибки, давайте рассмотрим, что происходит при выполнении команды в командной строке, в качестве примера будем использовать такой код:
- В случае, если «команда» является собственной встроенной командой консоли (в качестве примера — cls), она выполняется с заданными параметрами.
- Если «команда» — это какой-то файл .exe, .cmd, .bat или иной, например, pip, python или adb, выполняется попытка его запуска из расположения, где запущена командная строка (выделено на изображении ниже) или из расположений, добавленных в системную переменную PATH (о которой поговорим подробнее далее). При удачном запуске и правильно переданных параметрах команда выполняется.
Отсюда следуют наиболее распространённые причины появления ошибки при выполнении команды:
- Самая распространённая причина — отсутствие исполняемого файла в папке, где запущена командная строка и в папках, содержащихся в PATH.
- Ошибки при написании команды: при ошибке в имени файла, он не будет найден, что и приведёт к указанной ошибке.
- Файл отсутствует где-либо, например, вы пробуете использовать telnet, в то время, когда соответствующий компонент Windows не установлен.
- Редко — запускаемый через командную строку файл действительно не является исполняемой программой: изначально сам по себе или из-за повреждений.
Теперь о том, что делать в рассматриваемой ситуации.
Для исправления ошибки «Не является внутренней или внешней командой, исполняемой программой или пакетным файлом» в зависимости от ситуации можно использовать следующие подходы.
Переход к папке с исполняемым файлом в командной строке
Если выполнение команды требуется не на регулярной основе, достаточно перейти в командной строке в папку, содержащую нужный файл, делается это следующим образом:
- Например, мы знаем, что python.exe для последней версии Python на момент написания этой статьи располагается в папкеpip.exe — там же во вложенной папке Scripts (если окажется не ясным, как попасть в эту папку, процесс показан в видео ниже), adb.exe — где-то в папке с platform-tools и так далее. Скопируйте этот путь, сделать это можно из адресной строки проводника.
- Если командная строка запущена на том же диске, где находится нужный исполняемый файл, введите команду вида:
- Если командная строка запущена на диске C:, а исполняемый файл находится на другом диске, то перед 2-м шагом используйте команду вида (здесь D меняем на нужную букву диска) D: с последующим нажатием Enter.
- Введите нужную команду, которая ранее сообщала об ошибке — теперь она должна выполниться успешно.
Добавление папки с программой в системную переменную среды PATH
В случае, когда использование команд требуется регулярно, например, для git, разумным будет добавить папку с этим исполняемым файлом в PATH, чтобы затем в любой момент времени выполнять команды, независимо от того, в какой папке открыта командная строка:
Примечание: если ошибка возникает при использовании команд python, обратите внимание, что при первоначальной установке вам предложат добавить необходимые пути в PATH (отметка Add Python to PATH), то же самое часто бывает и при установке других программ:
Установка недостающих компонентов
Иногда проблема возникает из-за того, что нужный файл попросту отсутствует на компьютере:
- Вы пробуете использовать команды telnet, но не зашли в Панель управления —Программы и компоненты — Включение или отключение компонентов Windows и не включили «Клиент Telnet».
- Запускаете команды pyinstaller, но предварительно не установили его командой pip install pyinstaller
- Пробуете использовать команды adb.exe, но не установили необходимые компоненты Android SDK Platform Tools.
Аналогичная ситуация может быть и для многих других, не входящих в стандартную поставку Windows 10 и Windows 11 компонентов, например, java.
Если ошибка возникает при запуске системных инструментов Windows
Видео инструкция
Надеюсь, статья и видео помогли разобраться с проблемой и помогли в её решении. Остаются вопросы? — задавайте их в комментариях, я постараюсь ответить.
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\..\4.3.4\include\QtCore" -I"..\..\4.3.4\include\QtCore" -I"..\..\4.3.4\include\QtGui" -I"..\..\4.3.4\include\QtGui" -I"..\..\4.3.4\include" -I"." -I"c:\Qt\4.3.4\include\ActiveQt" -I"debug" -I"." -I"..\..\4.3.4\mkspecs\default" -o debug\counter.o counter.cpp
Не могу понять в чем проблема, понятно только, что он не может разобрать команду g++. Год назад писал програмки на Qt4 вроде все отлично работало, компилировалось, собиралось. Помогите разрешить проблему.
Решение нашел, компиляцию и сборку в консоли производить можно после:
Пришлось написать bat-файлик. Может мне изменяет память, но год назад, вроде бы такой проблемы у меня не возникло.
Решение нашел, компиляцию и сборку в консоли производить можно после:
Пришлось написать bat-файлик. Может мне изменяет память, но год назад, вроде бы такой проблемы у меня не возникло.
Можешь поконкретнее описать что именно ты сделал, я уже неделю бьюсь с этой ошибкой и не могу ничего поделать, переустановил уже кучу разных версий Qt
23:44:30: Выполняются этапы для проекта 0.
23:44:30: Запускается: «C:\Qt\Qt5.2.1\5.2.1\mingw48_32\bin\qmake.exe» C:\Qt\Qt5.2.1\Projects\0\0.pro -r -spec win32-g++ "CONFIG+=debug" "CONFIG+=declarative_debug" "CONFIG+=qml_debug"
23:44:30: Процесс «C:\Qt\Qt5.2.1\5.2.1\mingw48_32\bin\qmake.exe» завершился успешно.
23:44:30: Запускается: «C:\Qt\Qt5.2.1\Tools\mingw48_32\bin\mingw32-make.exe»
C:/Qt/Qt5.2.1/Tools/mingw48_32/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory 'C:/Qt/Qt5.2.1/Projects/build-0-Desktop_Qt_5_2_1_MinGW_32bit-Debug'
g++ -c -pipe -fno-keep-inline-dllexport -g -frtti -Wall -Wextra -fexceptions -mthreads -DUNICODE -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_CORE_LIB -I..\0 -I"..\..\5.2.1\mingw48_32\include" -I"..\..\5.2.1\mingw48_32\include\QtCore" -I"debug" -I"." -I"..\..\5.2.1\mingw48_32\mkspecs\win32-g++" -o debug\main.o ..\0\main.cpp
Makefile.Debug:177: recipe for target 'debug/main.o' failed
mingw32-make[1]: *** [debug/main.o] Error 1
mingw32-make[1]: Leaving directory 'C:/Qt/Qt5.2.1/Projects/build-0-Desktop_Qt_5_2_1_MinGW_32bit-Debug'
makefile:34: recipe for target 'debug' failed
mingw32-make: *** [debug] Error 2
23:44:35: Процесс «C:\Qt\Qt5.2.1\Tools\mingw48_32\bin\mingw32-make.exe» завершился с кодом 2.
Ошибка при сборке/установке проекта 0 (комплект: Desktop Qt 5.2.1 MinGW 32bit)
Во время выполнения этапа «Сборка»
Читайте также: