#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-разрядной архитектуры, и он должен работать нормально 🙂