Переход Qt Linux на Windows: ошибка при замене макросов

#c #windows #qt #qmake

#c #Windows #qt #qmake

Вопрос:

У меня есть проект Qt (версия 5.14.2), который отлично работает под Linux. Теперь я хотел бы также предоставить его в Windows. Однако у меня возникли некоторые проблемы с его сборкой. Выдается следующая ошибка:

 Error: Cannot find = after : in macro substitution.
 

А затем строка в makefile. Когда я перехожу к строке, появляется эта команда:

 443   {C:UsersAlexDocumentsGitHubcontrol-stationsrcaircraft}.cpp{obj}.obj::
444   $(CXX) -c $(CXXFLAGS) $(INCPATH) -Foobj @<<
445

lt;
446 <<

У меня нет предыдущего опыта работы с Windows, поэтому эта ошибка оставляет меня в неведении. Существует еще одна ошибка:

 Kit Desktop Qt 5.14.2 MSVC2017 64bit has configuration problems.
 

Похоже, что это последовательное из предыдущего, но я не уверен. У вас есть какие-либо предложения, что проверить? Кажется, это ошибка макроса, но я не знаю, с чего начать поиск?

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

1. Недостаточно информации, чтобы дать полезный ответ. Используете ли вы QMake или CMake или просто Make (а затем какой вариант Make — windows или unix?). Нет информации о строке, касающейся местоположения в вашем исходном тексте, и мы не можем знать, как выглядит код, вызывающий эту ошибку.

2. @BitTickler Jeah извините, сложно предоставить достаточно информации, если вы понятия не имеете, что ее вызывает. Но я нашел проблему и ответил на нее здесь. В моем файле .pri использовалась оболочка Git, но она не была установлена должным образом.

Ответ №1:

Неважно, найдено решение. Проблема была скрыта где-то совсем в другом месте кода. Я использовал некоторые команды оболочки git:

 exists ($PWD/.git) {
    GIT_DESCRIBE = $(shell git --git-dir $PWD/.git --work-tree $PWD describe --always --tags)
    GIT_BRANCH   = $(shell git --git-dir $PWD/.git --work-tree $PWD rev-parse --abbrev-ref HEAD)
    GIT_HASH     = $(shell git --git-dir $PWD/.git --work-tree $PWD rev-parse --short HEAD)
    GIT_TIME     = $(shell git --git-dir $PWD/.git --work-tree $PWD show --oneline --format="%ci" -s HEAD)
 

Но у меня не была установлена оболочка git должным образом. Это каким-то образом распространилось на файл make и вызвало ошибку.