g : ошибка: CreateProcess нет такого файла или каталога

#c #g #mingw #c 11 #createprocess

#c #g #mingw #c 11 #createprocess

Вопрос:

Я получаю следующую ошибку:

 g  : error: CreateProcess no such file or directory
 

всякий раз, когда я пытаюсь скомпилировать программу. Я установил версию MinGW 7.2 для работы на компьютере с Windows, и проблема не возникает, однако после установки Windows SP3 на моем домашнем компьютере я получаю эту ошибку, и я просто не могу ее понять, поскольку я правильно установил все переменные среды. Я даже пытался указать путь к C:MinGwlibexecgcci686-mingw324.6.1 where cc1plus.exe и cc1.exe находятся, но по-прежнему безуспешно.Если я введу это в командной строке:

_assoc .cpp=cpls

_ftype cpls=g «%1» %*

_program.cpp

кажется, что он компилируется, поскольку я получаю ошибки во время компиляции для ключевых слов C 11, которые не распознаются без переключателя -std=c 0x . Есть предложения? Заранее спасибо.

Комментарии:

1. Установлен ли у вас пакет MinGW ‘w32api’? Если нет, вам это нужно.

2. Чтобы помочь вам проверить, является ли это проблемой MinGW или проблемой с вашими файлами, вы пробовали компилировать на другой платформе? Ошибка g в вопросе создается самим g (так что проблема не в том, что он не может найти cc1plus.exe и друзей). например g foo_bar_file_does_not_exist , выдает аналогичную ошибку для меня (в системе Linux с g на пути)

3. Файлы нормально компилируются с той же версией MinGW nuwen.net/mingw.html на другом компьютере с Windows, поэтому я не вижу, в чем может быть проблема. У меня также установлена Ubuntu, и я могу нормально компилироваться.

Ответ №1:

У меня возникла эта ошибка, и я попытался переустановить MinGW, изменить путь и т. Д

Наконец, удаление переменной GCC_EXEC_PREFIX env, созданной из переменной среды как для пользователя, так и для системы, заставило ее работать! И это также было основной причиной причины, по которой CMake сказал, что идентификация компилятора C неизвестна. В моем случае я думаю, это потому, что Qt поставляется со своим собственным MinGW. Это может быть причиной и для вас (т.Е. mingw уже существует в другом месте)

Комментарии:

1. Я искал эту переменную env, но она не была определена. В любом случае я решил проблему, сначала определив путь к MinGW bin в переменной PATH env. (не имеет смысла, но это сработало)

Ответ №2:

Вы компилируете 32-разрядный двоичный файл и пытаетесь запустить его в 64-разрядной системе.

Скомпилируйте двоичный файл для 64-разрядной архитектуры, и он должен работать нормально 🙂

http://www.drangon.org/mingw/