Я хочу использовать gcc на Windows, поэтому кто-то дал мне папку MinGW. Я поместил папку D:\software\MinGW\bin\
в свой PATH. Но когда я открываю новый CMD и набираю gcc
, я получаю
«gcc» не является внутренней или внешней командой, исполняемой программой или пакетным файлом.
Однако, когда я печатаю gcc.exe
, это работает.
Итак, я читаю дальше.эта почтачто это может быть связано с моей переменной PATHEXT. Однако я изменил свою системную переменную PATHEXT так, чтобы она точно соответствовала тому, что сказано в ответе, и удалил свою пользовательскую переменную PATHEXT, но это ничего не изменило, мне все равно приходится писать gcc.exe
вместо gcc
.
Странно, что другие программы, такие как Java, работают без записи .exe
расширения. Похоже, эта проблема затрагивает только исполняемые файлы внутри D:\software\MinGW\bin\
папки.
D:\> set PATH
Path=D:\software\MinGW\bin;C:\Program Files\Python39\Scripts;C:\Program Files\Python39;D:\software\Perl64\bin;C:\Users\Jacopo\AppData\Roaming\ActiveState\bin;D:\software\VMWare\bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client;C:\Program Files\Intel\iCLS Client;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files (x86)\Intel\Компоненты Intel(R) Management Engine\DAL;C:\Program Files\Intel\Компоненты Intel(R) Management Engine\DAL;C:\Program Files (x86)\Intel\Компоненты Intel(R) Management Engine\IPT;C:\Program Files\Intel\Компоненты Intel(R) Management Engine\IPT;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;D:\software\Node;C:\Program Files\Intel\WiFi\bin;C:\Program Files\Common Files\Intel\WirelessCommon;C:\Program Files\Microsoft VS Код\bin;C:\xampp\php;C:\ProgramData\ComposerSetup\bin;D:\software\doxygen\bin;C:\xampp\mysql\bin;C:\Program Files (x86)\Gpg4win..\GnuPG\bin;D:\software\Git\cmd;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit;D:\software\MiKTeX\miktex\bin\x64;D:\software\OpenSSL-Win64\bin;D:\software\Nmap;D:\software\Aliases;D:\software\MinGW\bin;D:\software\Ruby27-x64\bin;C:\Program Files\Java\jdk1.8.0_112\bin;C:\Program Files (x86)\Google\Chrome\Application;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client;C:\Program Files\Intel\iCLS Client;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files (x86)\Intel\Компоненты ядра управления Intel(R)\DAL;C:\Program Files\Intel\Компоненты ядра управления Intel(R)\DAL;C:\Program Files (x86)\Intel\Intel(R) Компоненты движка управления\IPT;C:\Program Files\Intel\Компоненты движка управления Intel(R)\IPT;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;D:\software\Git\cmd;D:\software\Node;C:\Program Files\Intel\WiFi\bin;C:\Program Files\Common Files\Intel\WirelessCommon;C:\Program Files\Java\jdk1.8.0_112\bin;C:\Program Files (x86)\Common Файлы\Oracle\Java;D:\software\Qt\Tools\mingw530_32\bin;D:\software\Qt\5.9.8\winrt_x86_msvc2917\bin;C:\Users\Jacopo\AppData\Roaming\Composer\vendor\bin;D:\software\Docker Toolbox;D:\software\Nmap;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
Что я сделал не так?
Спасибо за помощь.
решение1
Единственное объяснение, которое я могу придумать для этого поведения, заключается в том, что в MinGW\bin
папке есть файл или папка с именем gcc
.
Это потребовало бы добавления .exe
, чтобы избежать использования этого файла.
Проверьте наличие gcc
папки MinGW\bin
или любой из ее подпапок.
решение2
Я исправил проблему, скопировав MinGW
папку с D:\
диска в Program File
папку на C:\
диске. Я изменил Path
переменную соответствующим образом, и это сработало. До сих пор не понимаю, почему это не сработало с D:\software
папкой.