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

У меня есть проект, изначально созданный с Qt 4.8.6 для Embedded linux + ARM. Этот проект представляет собой пользовательский интерфейс, который уже был закодирован для компиляции в качестве настольного приложения Windows, и много лет назад я успешно это сделал. Теперь мне нужно снова перекомпилировать его для Windows, но я продолжаю получать эту ошибку

g++: error: CreateProcess: No such file or directory

когда доходит до компиляции main.cpp.

Решения, найденные в Интернете, не помогли. Сделанные шаги:

  • Изначально я пытался скомпилировать его с помощью Qt 5.7. Думая, что это может быть несовместимость библиотеки, я установил Qt 4.8.6 с соответствующей версией MinGW. [РЕДАКТИРОВАТЬ] Я протестировал установку с помощью программы Hello World и добился 100% успеха.

  • Следуя эта ссылка, я добавил пути как нового Qt, так и MinGW в PATH, безуспешно. Обратите внимание, что я могу отлично компилировать и запускать другие проекты с Qt 5.7, и он не связан в PATH.

  • Следуя эта ссылка, я пришел к выводу, что у меня есть несколько библиотек, связанных с проектом, которые еще не были скомпилированы. Мне удалось успешно скомпилировать их все и дважды проверить пути включения в моем файле .pro. Очевидно, это была проблема, которую нужно было решить, но это не помогло в решении рассматриваемой проблемы.

  • Я проверил, нет ли новых библиотек, несовместимых с Windows; нашел один и поместил его заголовок в определение. Нет результатов.

Так что теперь у меня нет идей. К сожалению, я не помню, чтобы получал эту ошибку, когда много лет назад компилировал приложение для Windows, поэтому я даже не понимаю, что происходит. Вот сообщение, которое я получаю в выводе компиляции:

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

Любая помощь будет оценена по достоинству.

Какую команду вы используете для сборки? Вы перезагружали после добавления путей? Есть ли make-файл, который вы используете? Однажды у меня была похожая проблема, и это было просто из-за простой опечатки в make-файле.

Vishaal Shankar 12.06.2018 17:15

Вероятно, вам нужно перезапустить qmake.

drescherjm 12.06.2018 17:22

@VishaalShankar Я создаю его внутри Qt Creator: clean all, run qmake, rebuild all. Я перезапустил после добавления путей. Я использую Makefile, сгенерированный выполнением только что упомянутых шагов внутри QtCreator.

Momergil 18.06.2018 13:21

@drescherjm Я делал это после каждого упомянутого выше шага, безуспешно.

Momergil 18.06.2018 13:21
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
4
611
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Мне удалось найти решение проблемы.

В файле .pro было определение DEFINES += COMPILE_DATE=\\\"$$DATE\\\", которое вызывало определение DATE =$$system($${PWD}/../../get_compile_date.bat). Как указывалось, файл .bat несовместим с Windows. Его содержимое - date | tr -d " ". Как только вызов этого файла был прокомментирован, проблема перестала возникать.

Другие вопросы по теме