I had a very long path, and there’s a file in there somewhere (not gcc.exe) but another file, that gcc.exe is accessing from the path..
So when I cleared the path, it worked
C:\MinGW>cd bin
C:\MinGW\bin>where gcc.exe
C:\MinGW\bin\gcc.exe
C:\Perl64\site\bin\gcc.exe
^^ So running gcc from there will definitely run the ming gcc.exe
C:\MinGW\bin>type file6.c
#include<stdio.h>
void main()
{
int num1,num2;
scanf("%2d %4d",&num1,&num2);
printf("a=%d b=%d",num1,num2);
scanf("%d",&num1);
//flushall();
printf("c=%d",num1);
}
Compiling it I got this error
C:\MinGW\bin>gcc file6.c
gcc: error: CreateProcess: No such file or directory
My PATH was huge
C:\MinGW\bin>path
PATH=C:\Windows\system32;C:\Windows;C:\Windows\system32\wbem;C:\P......
C:\MinGW\bin>path | grep -io «ming»
It didn’t have ming there.
C:\MinGW\bin>echo MING | grep -io «ming»
MING
(and yeah that grep works..the path didn’t have ming there)
Clearing my path completely, led it to work!
C:\MinGW\bin>set PATH=
C:\MinGW\bin>gcc file6.c
C:\MinGW\bin>
So, it’s not clear yet precisely what it was in the PATH that led to the clash. What directory, what file.
Update-
The above seems to be correct to me but to add, it’s also not a simple case of something earlier in the path clashing.. because normally the current directory takes precedence. And it does here in so far as gcc —version shows it’s running the ming one and not one of the ones in a conflicting directory. So there’s something funny going on that, if the conflicting directory is in the path) , one has to either do .\gcc or add .
to the start of the path or add c:\MinGW\bin
before any conflicting directories in the path. this is the case even when you’re in C:\MinGW\bin
and that’s strange. And when it gives an error, it is still running Ming’s gcc but (For some reason) looking at the conflicting directory too, as I see from process monitor. There may be more of an answer here http://wiki.codeblocks.org/index.php?title=Installing_MinGW_with_Vista in the link mentioned in the very upvoted answer here
That’s Ming32 bit..
Looking at Ming 64bit, probably has te same issue, but I see, interestingly, it comes with a bat file that (sensibly) actually puts the bin directory at the tart of the path. And it looks like that is a standard way of running Ming gcc properly.
The code::blocks IDE (sensibly) also puts the bin directory at the start of the path. If you run a C program that shows environment variables then you see that.
I had a very long path, and there’s a file in there somewhere (not gcc.exe) but another file, that gcc.exe is accessing from the path..
So when I cleared the path, it worked
C:\MinGW>cd bin
C:\MinGW\bin>where gcc.exe
C:\MinGW\bin\gcc.exe
C:\Perl64\site\bin\gcc.exe
^^ So running gcc from there will definitely run the ming gcc.exe
C:\MinGW\bin>type file6.c
#include<stdio.h>
void main()
{
int num1,num2;
scanf("%2d %4d",&num1,&num2);
printf("a=%d b=%d",num1,num2);
scanf("%d",&num1);
//flushall();
printf("c=%d",num1);
}
Compiling it I got this error
C:\MinGW\bin>gcc file6.c
gcc: error: CreateProcess: No such file or directory
My PATH was huge
C:\MinGW\bin>path
PATH=C:\Windows\system32;C:\Windows;C:\Windows\system32\wbem;C:\P......
C:\MinGW\bin>path | grep -io «ming»
It didn’t have ming there.
C:\MinGW\bin>echo MING | grep -io «ming»
MING
(and yeah that grep works..the path didn’t have ming there)
Clearing my path completely, led it to work!
C:\MinGW\bin>set PATH=
C:\MinGW\bin>gcc file6.c
C:\MinGW\bin>
So, it’s not clear yet precisely what it was in the PATH that led to the clash. What directory, what file.
Update-
The above seems to be correct to me but to add, it’s also not a simple case of something earlier in the path clashing.. because normally the current directory takes precedence. And it does here in so far as gcc —version shows it’s running the ming one and not one of the ones in a conflicting directory. So there’s something funny going on that, if the conflicting directory is in the path) , one has to either do .\gcc or add .
to the start of the path or add c:\MinGW\bin
before any conflicting directories in the path. this is the case even when you’re in C:\MinGW\bin
and that’s strange. And when it gives an error, it is still running Ming’s gcc but (For some reason) looking at the conflicting directory too, as I see from process monitor. There may be more of an answer here http://wiki.codeblocks.org/index.php?title=Installing_MinGW_with_Vista in the link mentioned in the very upvoted answer here
That’s Ming32 bit..
Looking at Ming 64bit, probably has te same issue, but I see, interestingly, it comes with a bat file that (sensibly) actually puts the bin directory at the tart of the path. And it looks like that is a standard way of running Ming gcc properly.
The code::blocks IDE (sensibly) also puts the bin directory at the start of the path. If you run a C program that shows environment variables then you see that.
If you’re a developer, you might have encountered the ‘Unable to Execute GCC: No Such File or Directory’ error message while trying to compile your C or C++ source code. This error typically occurs when the GCC (GNU Compiler Collection) is either not installed or not properly configured on your system.
This step-by-step guide will help you fix the ‘Unable to Execute GCC’ error and get your code compiled successfully. We’ll cover various methods to resolve this issue, depending on your operating system and development environment.
Table of Contents
- Prerequisites
- Method 1: Installing GCC
- Installing GCC on Windows
- Installing GCC on macOS
- Installing GCC on Linux
- Method 2: Configuring the PATH Environment Variable
- Method 3: Specifying the GCC Path in Your IDE or Build System
- FAQ
Prerequisites
Before we begin, make sure you have the following:
- A computer running Windows, macOS, or Linux.
- Administrator or superuser privileges to install software or modify system settings.
- A text editor or integrated development environment (IDE) for editing source code.
Method 1: Installing GCC
If you don’t have GCC installed on your system, follow the appropriate instructions for your operating system.
Installing GCC on Windows
- Download the MinGW-w64 installer from the official website.
- Run the installer and choose your desired settings (architecture, threads, exceptions, etc.).
- Install MinGW-w64 to a directory of your choice, such as
C:\mingw-w64
. - Add the
bin
directory to your system’s PATH environment variable (see Method 2 for details).
Installing GCC on macOS
- Install Homebrew if you don’t already have it.
- Open a terminal and run the following command:
brew install gcc
- Wait for the installation to complete. The GCC executable should now be available at
/usr/local/bin/gcc
.
Installing GCC on Linux
- Open a terminal and run the following command to update your package list:
sudo apt-get update
- Install the
build-essential
package, which includes GCC and other development tools:
sudo apt-get install build-essential
- Verify that GCC has been installed by running the following command:
gcc --version
Method 2: Configuring the PATH Environment Variable
If GCC is already installed on your system but you’re still encountering the error, make sure the GCC executable is in your system’s PATH environment variable. Here’s how to add it:
Windows
- Press the Windows key, type «Environment Variables,» and click «Edit the system environment variables.»
- Click the «Environment Variables» button.
- Under «System variables,» find the «Path» variable and click «Edit.»
- Click «New» and add the path to your GCC
bin
directory, such asC:\mingw-w64\bin
. - Click «OK» to save the changes.
macOS and Linux
- Open a terminal and run the following command:
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile
- Restart your terminal or run
source ~/.bash_profile
to apply the changes.
Method 3: Specifying the GCC Path in Your IDE or Build System
Some IDEs or build systems may require you to specify the path to the GCC executable manually. Consult your IDE or build system’s documentation for instructions on how to do this.
For example, in Visual Studio Code, you can add the following to your settings.json
file:
{
"C_Cpp.default.compilerPath": "/usr/local/bin/gcc"
}
FAQ
1. How do I check if GCC is installed on my system?
Run the following command in your terminal or command prompt:
gcc --version
If GCC is installed, you should see output displaying the version number. If not, you’ll likely see a «command not found» error.
2. Can I use another C/C++ compiler instead of GCC?
Yes, other popular C/C++ compilers include Clang and Microsoft Visual C++. Consult your IDE or build system’s documentation for instructions on using a different compiler.
3. How do I uninstall GCC?
The process of uninstalling GCC depends on your operating system and installation method. Generally, you can use your system’s package manager or software center to remove GCC.
4. Why do I get a «Permission Denied» error when trying to install or configure GCC?
This error typically occurs when you don’t have the necessary privileges to perform the action. Make sure you’re running commands with administrator or superuser privileges (e.g., using sudo
on macOS and Linux).
5. How do I update GCC to the latest version?
Updating GCC depends on your operating system and installation method. Generally, you can use your system’s package manager or software center to update GCC. On macOS, you can use Homebrew to update GCC by running brew upgrade gcc
.
- GCC Official Website
- MinGW-w64 Official Website
- Homebrew Official Website
- Visual Studio Code C/C++ Extension Documentation
I want to create Windows Application by msys2 MinGW 64bit.
I try this.
$ gcc -Wall -O3 -o message.o -c message.c
gcc: fatal error: cannot execute ‘cc1’: spawn: No such file or directory
compilation terminated.
I think gcc can’t find cc1 program.
$ which gcc
/mingw64/bin/gcc
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
Target: x86_64-pc-msys
Configured with: /c/_/S/gcc/src/gcc-10.2.0/configure --build=x86_64-pc-msys --prefix=/usr --libexecdir=/usr/lib --enable-bootstrap --enable-shared --enable-shared-libgcc --enable-static --enable-version-specific-runtime-libs --with-arch=x86-64 --with-tune=generic --disable-multilib --enable-__cxa_atexit --with-dwarf2 --enable-languages=c,c++,fortran,lto --enable-graphite --enable-threads=posix --enable-libatomic --enable-libgomp --disable-libitm --enable-libquadmath --enable-libquadmath-support --disable-libssp --disable-win32-registry --disable-symvers --with-gnu-ld --with-gnu-as --disable-isl-version-check --enable-checking=release --without-libiconv-prefix --without-libintl-prefix --with-system-zlib --enable-linker-build-id --with-default-libstdcxx-abi=gcc4-compatible --enable-libstdcxx-filesystem-ts
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 10.2.0 (GCC)
$ gcc -print-search-dirs
install: /mingw64/bin/../lib/gcc/x86_64-pc-msys/10.2.0/
programs: =/mingw64/bin/../lib/gcc/x86_64-pc-msys/10.2.0/:/mingw64/bin/../lib/gcc/:/mingw64/bin/../lib/gcc/x86_64-pc-msys/10.2.0/../../../../x86_64-pc-msys/bin/x86_64-pc-msys/10.2.0/:/mingw64/bin/../lib/gcc/x86_64-pc-msys/10.2.0/../../../../x86_64-pc-msys/bin/
libraries: =/mingw64/bin/../lib/gcc/x86_64-pc-msys/10.2.0/:/mingw64/bin/../lib/gcc/:/mingw64/bin/../lib/gcc/x86_64-pc-msys/10.2.0/../../../../x86_64-pc-msys/lib/x86_64-pc-msys/10.2.0/:/mingw64/bin/../lib/gcc/x86_64-pc-msys/10.2.0/../../../../x86_64-pc-msys/lib/../lib/:/mingw64/bin/../lib/gcc/x86_64-pc-msys/10.2.0/../../../x86_64-pc-msys/10.2.0/:/mingw64/bin/../lib/gcc/x86_64-pc-msys/10.2.0/../../../../lib/:/lib/x86_64-pc-msys/10.2.0/:/lib/../lib/:/usr/lib/x86_64-pc-msys/10.2.0/:/usr/lib/../lib/:/mingw64/bin/../lib/gcc/x86_64-pc-msys/10.2.0/../../../../x86_64-pc-msys/lib/:/mingw64/bin/../lib/gcc/x86_64-pc-msys/10.2.0/../../../:/lib/:/usr/lib/
I found cc1 in the following directory
C:\msys64\mingw64\lib\gcc\x86_64-w64-mingw32\10.2.0\cc1.exe
cc1 is not contained in the following path.
/mingw64/bin/../lib/gcc/x86_64-pc-msys/10.2.0
Can you help me?
Is discussion is good about this topic?
Я получаю эту ошибку всякий раз, когда пытаюсь запустить GCC за пределами установочного каталога (E:\MinGW\bin
).
Итак, скажем, я в E:\code
и имею файл с именем one.c
Запуск: gcc one.c -o one.exe
даст мне эту ошибку:
gcc: CreateProcess: No such file or directory
Единственным обходным решением является переход к его установочной директории, запуск gcc оттуда и указание всех других путей. Моя переменная окружения Path
содержит E:\MinGW\bin
.
Любые предложения по устранению этой проблемы? Я запускаю Windows XP SP3.
Ответ 1
В частности, он сказал, что вам нужно перезагрузиться после того, как вы установили переменные среды в windows для migwin.
Ответ 2
У меня была аналогичная проблема, вызванная не установкой компилятора С++. В моем случае я компилировал файлы .cpp для расширения Python, но компилятор сначала вызывается как c:\mingw\bin\gcc.exe.
Internally, gcc.exe заметил бы, что его попросили скомпилировать .cpp файл. Он попытался вызвать g++. Exe и fail с тем же сообщением об ошибке:
gcc.exe: CreateProcess: нет такого файла или каталога
Ответ 3
Согласно Code:: Blocks wiki, вам нужно добавить C:\MinGW\libexec\gcc\mingw32\MinGW-Version
в PATH
. Нет необходимости перезапускать, но вам нужно открыть другой терминал, чтобы получить самые новые настройки PATH
.
Для MinGW-w64 этот <mingw install directory>\libexec\gcc\x86_64-w64-mingw32\4.7.0\
Ответ 4
У меня была эта проблема.
В моем случае проблема возникла из-за проблем при загрузке пакетов для GCC. Программа mingw-get считала, что закончила загрузку, но это не так.
Я хотел обновить GCC, поэтому я использовал mingw-get для получения более новой версии. По какой-то причине mingw-get подумал, что загрузка для определенного файла завершена, но это не так. Когда он отправился на извлечение файла, я предполагаю, что он выпустил ошибку (которую я даже не удосужился посмотреть — я просто запустил «mingw-get update && mingw-get install mingw32-gcc» и оставил его там).
Чтобы решить проблему, я удалил gcc, выполнив «mingw-get remove mingw32-gcc», а также удалил файл пакета (один из mingw-get не полностью загрузился), который был в папке кэша mingw ( «C:\MinGW\var\cache\mingw-get\packages» в моей системе), а затем снова запустить команду установки. Он загружает и устанавливает недостающие части GCC (он не полностью загрузил пакет gcc-core).
Это решило мою проблему.
Интересно, что mingw-get был достаточно умен, чтобы продолжить загрузку gcc-ядра даже после того, как я удалил файл пакета в папке кеша, а также удалил пакет mingw32-gcc.
Я думаю, что более фундаментальной проблемой было то, что, поскольку файлы gcc-core не были установлены, cc1 там не было. И gcc использует cc1. Я предполагаю, что, когда gcc попытался запустить cc1, он использовал CreateProcess где-то, проходящий путь cc1, который не был пути к существующему файлу. Таким образом, сообщение об ошибке.
Ответ 5
У меня была точно такая же проблема.
После повторной проверки моего PATH
, я понял, что я установил как Mingw
(64 бит), так и Cygwin
(32 бит).
Проблема в том, что Mingw
и Cygwin
имеют g++
.
Отключив путь Cygwin
, ошибка исчезла.
Ответ 6
Итак, это глупое сообщение об ошибке, потому что оно не сообщает вам, какой файл он не может найти.
Запустите команду еще раз с помощью флагового флагов gcc -v
, чтобы узнать, что такое gcc.
В моем случае это случилось, когда он пытался вызвать cc1plus
. Я проверил, у меня этого нет. Установленный компилятор Mingw С++, а затем я сделал.
Ответ 7
Получалось такое же сообщение об ошибке при попытке запустить из Cygwin со ссылками на установку mingw.
Используя ту же самую установку mingw32-make-3.80.0-3.exe из http://www.mingw.org/wiki/FAQ и вариант оболочки mingw из Start → Программы → на WinXP SP3 и gcc работают нормально.
Ответ 8
Эта проблема связана с тем, что вы используете заглавные суффикс stuff.C, а не в нижнем регистре stuff.c, когда компилируете его с помощью Mingw GCC. Например, когда вы делаете это так:
gcc -o stuff stuff.C
то вы получите сообщение: gcc: CreateProcess: No such file or directory
Но если вы это сделаете:
gcc -o stuff stuff.c
то это работает. Я просто не знаю, почему.
Ответ 9
У меня была такая же проблема, и ни одна из предложенных исправлений не работала для меня. Поэтому, хотя это старый поток, я полагаю, что я мог бы также опубликовать свое решение, если кто-то еще найдет этот поток через Google (как и я).
Для меня мне пришлось удалить MinGW/удалить папку MinGW и переустановить. После повторной установки он работает как шарм.
Ответ 10
У меня возникла аналогичная проблема. Первоначально добавление папки GCC bin на мой системный путь не помогло решить проблему. Я нашел два решения.
Первым был запуск командного файла, который я нашел в корне установки MinGW, mingwbuilds.bat. Он (по-видимому) запускает командную строку, настроенную правильно для запуска GCC. Во-вторых, было удалено двойные кавычки из папки установочного bin GCC, которые я добавил в мою переменную пути пользователя. Я попробовал это, заметив командный файл, не используя двойные кавычки вокруг пути установки bin.
Дополнительные сведения
Я случайно обнаружил командный файл при просмотре дерева установочных папок, пытаясь найти различные исполняемые файлы, которые не запускались (в соответствии с выходом -v). Я нашел некоторую информацию о wiki в MinGW, http://www.mingw.org/wiki/Getting_Started в разделах «Предостережения и настройки среды», который указывает, почему установщик MinGW не настроен путь к системе или пользователю, чтобы включить папку установки. Кажется, что они подтверждают, что командный файл предназначен для запуска командной строки, подходящей для запуска GCC из приглашения Windows.
Ответ 11
В «дайте человеку рыбу, кормите его на день, научите человека ловить рыбу, избавиться от него на весь уик-энд»,
g++ --help
показывает параметры компилятора. Опция g++ -v помогает:
-v Display the programs invoked by the compiler
Просмотрите выходные данные для фиктивных путей. В моем случае исходная команда:
g++ -v "d:/UW_Work/EasyUnit/examples/1-BasicUnitTesting/main.cpp"
сгенерированный вывод, включая этот маленький драгоценный камень:
-iprefix c:\olimexods\yagarto\arm-none-eabi\bin\../lib/gcc/arm-none-eabi/4.5.1/
который объяснил бы сообщение «нет такого файла или каталога».
Сегмент «../lib/gcc/arm-none-eabi/4.5.1/» исходит из встроенных спецификаций:
g++ -dumpspecs
Ответ 12
У меня был очень длинный путь, и там где-то был файл (а не gcc.exe), а другой файл, к которому gcc.exe обращается к пути.
Итак, когда я очистил путь, он работал
C:\MinGW>cd bin
C:\MinGW\bin>where gcc.exe
C:\MinGW\bin\gcc.exe
C:\Perl64\site\bin\gcc.exe
^^ Так что запущенный gcc оттуда обязательно запустит ming gcc.exe
C:\MinGW\bin>type file6.c
#include<stdio.h>
void main()
{
int num1,num2;
scanf("%2d %4d",&num1,&num2);
printf("a=%d b=%d",num1,num2);
scanf("%d",&num1);
//flushall();
printf("c=%d",num1);
}
Составив его, я получил эту ошибку
C:\MinGW\bin>gcc file6.c
gcc: error: CreateProcess: No such file or directory
Моя ПУТЬ была огромной
C:\MinGW\bin>path
PATH=C:\Windows\system32;C:\Windows;C:\Windows\system32\wbem;C:\P......
C:\MinGW\bin > путь | grep -io «ming»
У него не было мин.
C:\MinGW\bin > эхо MING | grep -io «ming»
MING
(и да, что grep работает… на пути не было ming)
Очистить мой путь полностью, заставил его работать!
C:\MinGW\bin>set PATH=
C:\MinGW\bin>gcc file6.c
C:\MinGW\bin>
Итак, пока не ясно, что именно в PATH привело к столкновению. Какой каталог, какой файл.
Update —
Вышеприведенное кажется правильным для меня, но, чтобы добавить, это также не простой случай чего-то ранее в конфликте пути.. потому что обычно текущий каталог имеет приоритет. И он здесь, поскольку gcc -version показывает, что он запускает ming, а не один из них в конфликтующем каталоге. Итак, там что-то смешное, если конфликтный каталог находится в пути), нужно либо сделать. \Gcc, либо добавить .
в начало пути, либо добавить c:\MinGW\bin
перед любыми конфликтующими каталогами в пути. это так, даже если вы находитесь в c:\MinGW\bin
и это странно. И когда он дает ошибку, он все еще запускает Ming gcc, но (по какой-то причине) также смотрит на конфликтующий каталог, как я вижу на мониторе процесса. Здесь может быть больше ответа http://wiki.codeblocks.org/index.php?title=Installing_MinGW_with_Vista в ссылке, упомянутой в самом высоком ответе здесь
Что Ming32 бит..
Глядя на Ming 64bit, возможно, есть те же проблемы, но я вижу, что интересно, он поставляется с файлом bat, который (разумно) фактически помещает каталог bin в терпкий путь. И похоже, что это стандартный способ правильной работы Ming gcc.
Код:: блокирует IDE (разумно) также помещает каталог bin в начало пути. Если вы запустите программу C, в которой отображаются переменные среды, вы увидите это.
Ответ 13
У меня была такая же проблема, но ни одно из перечисленных в настоящее время решений не помогло с первого раза.
-v
вариант не дал никаких дополнительных подсказок.
Пришлось прибегнуть к ProcMon, чтобы найти корень проблемы.
Dumping g++
активность файла процесса выявила многочисленные попытки найти исполняемый файл cc1plus
на разных путях. Среди них были пути к старой версии GCC.
Но эта старая версия размещалась в отдельной папке и совсем не ссылалась на новую версию, которую я пытался запустить.
Наконец, устаревший путь был найден в переменной среды% PATH%.
После его удаления новая версия начала работать без ошибок.
Ответ 14
Добавьте E:\MinGW\bin
в переменную PATH
.
Ответ 15
Похоже, есть пара дистрибутивов релизов для MinGW. Какой из них вы попробовали? Для записи я столкнулся с той же проблемой, что и OP, и дистрибутив я получил от TDM-GCC 4.5.1.
Я нашел, что MinGW distro здесь работает намного лучше и правильно устанавливает. Поэтому для тех, кто работает в этой задержанной ошибке «createprocess-no-such-file-or-directory» и не может заставить работать, удалите существующий MinGW и попробуйте тот, с которым я связан.
Ответ 16
У меня была та же проблема (я запускаю cygwin)
Запуск оболочки через cygwin.bat не помог, но запуск оболочки через MingWShell сделал. Не совсем понятно, почему, но я думаю, что это как-то связано с дополнительным слоем, который cygwin помещает между исполняемым script и базовой файловой системой.
Я запускал pip install из виртуального env cygwin для установки django sentry..
Ответ 17
Решение для меня просто:
-
Когда вы сохраняете программу, скажем, ее имя hi.cpp помещено в папку, например. xxl затем сохраните вашу программу.
-
Отрежьте эту папку и поместите ее в папку bin в потоке.
-
Когда вы вызываете программу:
------ g++ xxl\hi.cpp --------
Ответ 18
Эта проблема может возникнуть, если у вас разные версии программ.
Например, у вас есть 1-летний gcc
, и вы хотите скомпилировать исходный код на С++. Если вы используете mingw-get
для установки g++
, gcc
и g++
будут внезапно иметь разные версии, и вы, вероятно, окажетесь в этой ситуации.
Запуск mingw-get update
и mingw-get upgrade
решил эту проблему для меня.
Ответ 19
(Ссылаясь на оригинальную проблему)
Сегодня версия mingw
(см. Дату публикации)
Все, что мне нужно было сделать, это установить путь в той же оболочке, в которой я запускал gcc
.
Потребовал мне час, чтобы вспомнить, как установить DOS variables
…
A:> set PATH=C:\MinGW\bin\;
C:\Program Files\ImageMagick-6.8.0-Q16\;
C:\WINDOWS\system32\;C:\WINDOWS\;C:\WINDOWS\System32\Wbem\;
C:\WINDOWS\system32\WindowsPowerShell\v1.0\;
C:\Program Files\QuickTime\QTSystem\
A:> gcc hi.c
Ответ 20
У меня была та же проблема, и я пробовал все без каких-либо результатов. Для меня проблема заключалась в изменении порядка путей библиотеки в переменной PATH. У меня был cygwin, а также некоторые другие компиляторы, поэтому между ними, вероятно, было какое-то столкновение. То, что я сделал, это положить C:\MinGW\bin; путь сначала перед всеми другими путями, и он исправил проблему для меня!
Ответ 21
попытайтесь поместить путь в системные переменные вместо того, чтобы помещать переменные пользователя в переменные среды.
Ответ 22
Я получал это сообщение об ошибке, потому что использовал MinGW-w64, а команды в <install path>\bin
имели странный префикс. Я попытался вызвать исполняемые файлы в каталогах «target alias», а не в каталогах <install path>\bin
, что привело к еще большему количеству проблем. Это не-no в соответствии с часто задаваемые вопросы. Тогда решение для меня заключалось в создании символических ссылок на все префиксные команды. Я открыл командную строку с повышенными полномочиями и использовал что-то вроде mklink gcc.exe x86_64-w64-mingw32-gcc.exe
для каждого исполняемого файла, и теперь моя сборка работает.
Ответ 23
Хотя пост старый, у меня была та же проблема с mingw32 vers 4.8.1 от 2015/02/13. С этим сообщением завершилось компиляция с использованием Eclipse CDT. Также не удалось выполнить попытку из командной строки с опцией -v. Мне также не хватает исполняемого файла cc1plus.
Причина:
Я загрузил командную строку и графический установщик с сайта mingw32. Я использовал это, чтобы выполнить мою первоначальную установку mingw32. Используя GUI, я выбрал базовые инструменты, выбрав компиляторы c и С++.
Этот установщик выполнил неполную установку 32-битного компилятора С++. У меня были файлы g++ и cpp, но не исполняемый файл cc1plus. Попытка выполнить «обновление» не удалась, потому что установщик предположил, что все установлено.
Чтобы исправить я нашел эти сайты:
http://mingw-w64.sourceforge.net/
http://sourceforge.net/projects/mingw-w64/
Я загрузил и выполнил эту «онлайн-установку». Конечно, в этом содержатся недостающие файлы. Я изменил свою переменную PATH и указал на папку «bin», содержащую исполняемый файл g++. Rebooted. Установлено 64-битное Eclipse. Открытые Eclipse и программа Hello С++ скомпилированы, выполнены и отлажены правильно.
Примечание. 64-разрядный установщик по умолчанию имеет настройки UNIX. Почему установщик не может определить ОС? Обязательно измените их.
Я провел целый вечер с этим. Надеюсь, это поможет кому-то.
Ответ 24
У меня была та же проблема.
У меня уже был установлен компилятор g++ через MinGW (пакет mingw32-gcc-g++), но мне нужен компилятор C, поэтому я запустил mingw-get-setup.exe, где я смог он устанавливает пакет mingw32-base, один с компилятором C.
Увы! У меня была эта ошибка, когда я использую gcc для компиляции:
gcc: error: createprocess: нет такого файла или каталога
Что я делал, так и было, используя MinGW Installation Manager, я удалил компиляторы C и С++, а именно mingw32-base и mingw32-gcc-g++ и ТАКЖЕ удалил сам каталог C:\MinGW. Затем я повторно запустил mingw-get-setup.exe, установил mingw32-base, и voila, он работал:)