Ошибка "g ++: CreateProcess: нет такого файла или каталога" при компиляции проекта Qt - PullRequest
0 голосов
/ 03 марта 2020

Я сталкиваюсь с этой классической c ошибкой компилятора G ++ (на самом деле MingW, поскольку я нахожусь в Windows) "CreateProcess: нет такого файла или каталога".

Класси c как есть, есть много сообщений и постов, в том числе и здесь, на SO, с людьми, сообщающими об этой ошибке, а симптомы, объяснение и решение в основном всегда одинаковы: парень не может скомпилировать кода, и исправление выполняется путем исправления переменной среды PATH путем добавления каталога, в котором находятся файлы компилятора. И причина обычно заключается в проблемной установке компилятора c.

Моя проблема, однако, немного другая: моя установка в порядке, настолько, что я могу успешно скомпилировать другие проекты (проекты Qt в частности) с использованием точно такого же набора компиляторов. Ошибка возникает, только когда я пытаюсь скомпилировать один указанный c проект Qt, который я не компилировал в течение некоторого времени. К сожалению, компилятор / Qt не дает мне никакого представления о том, почему этот указанный c проект не будет компилироваться, когда другие go в порядке. Тем не менее, я все еще проверил свою переменную PATH env и там есть каталог с файлами G ++.

Так в чем же причина проблемы? Я проверил свой файл Qt .pro на наличие каких-либо «специальных» вещей, и все было хорошо. Приятно отметить, что я уже скомпилировал этот проект на стадии разработки, он уже довольно старый, и я не помню, чтобы когда-либо сталкивался с этой проблемой, а также каких-либо серьезных изменений в файле .pro не было сделано недавно.

(Если это поможет:)

Error message

1 Ответ

0 голосов
/ 03 марта 2020

Ну, мне удалось найти ответ: плохое программирование.

Это приложение компилируется для Windows и Linux. В версии Linux команда создала сценарий, который автоматически получает текущую версию SVN и добавляет ее к переменной внутри .pro:

DATE = $$system($${PWD}/../../get_compile_date.bat)

Затем создается определение с сообщенным значением:

DEFINES += COMPILE_DATE=\\\"$$DATE\\\"

Проблема в том, что я компилирую в Windows, поэтому MinGW не смог правильно «понять» ситуацию, что привело к ошибке. После удаления вызова сценария проблема исчезла.

DEFINES += COMPILE_DATE=\\\"03-03-2020\\\"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...