Проект QML выдает бессмысленные ошибки, а затем работает случайным образом ⇐ C++
Проект QML выдает бессмысленные ошибки, а затем работает случайным образом
У меня есть проект QML (приложение QtQuick) в Visual Studio 2022. Я использую Visual Studio, поскольку интегрирую QML для пользовательского интерфейса в более крупный проект и не хочу переключать среду разработки. У меня есть расширение Qt VS Tools, и проект Qt Widgets работает нормально, это проблема только с QtQuick.
Каждый раз, когда я запускаю свое приложение (с помощью F5), меня встречает множество ошибок, которые, насколько я могу судить, не имеют никакого отношения к моему проекту.
Вот журнал вывода:
1>main.cpp 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(23,60): предупреждение C4003: недостаточно аргументов для вызова функционального макроса 'min' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(24,46): предупреждение C4003: недостаточно аргументов для вызова функционального макроса «max» 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(35,69): предупреждение C4003: недостаточно аргументов для вызова функционального макроса «max» 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(47,44): предупреждение C4003: недостаточно аргументов для вызова функционального макроса 'min' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(47,84): предупреждение C4003: недостаточно аргументов для вызова функционального макроса «max» 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(23,60): ошибка C2589: '(': недопустимый токен в правой части '::' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(23,34): ошибка C2062: тип «неизвестный тип» неожиданный 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(24,46): ошибка C2589: '(': недопустимый токен в правой части '::' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(24,46): ошибка C2059: синтаксическая ошибка: ')' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(24,51): ошибка C2059: синтаксическая ошибка: ')' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(24,53): ошибка C2143: синтаксическая ошибка: отсутствует ';' до '{' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(19,27): ошибка C3615: функция constexpr 'QJSNumberCoercion::isInteger' не может привести к постоянному выражению 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(19,27): 1>сбой был вызван тем, что управление достигло конца функции constexpr 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(35,69): ошибка C2589: '(': недопустимый токен в правой части '::' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(35,43): ошибка C2062: тип «неизвестный тип» неожиданный 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(35,74): ошибка C2059: синтаксическая ошибка: ')' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(35,76): ошибка C2143: синтаксическая ошибка: отсутствует ';' до '{' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(33,27): ошибка C3615: функция constexpr 'QJSNumberCoercion::isArrayIndex' не может привести к постоянному выражению 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(33,27): 1>сбой был вызван тем, что управление достигло конца функции constexpr 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(47,44): ошибка C2589: '(': недопустимый токен в правой части '::' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(47,18): ошибка C2062: тип «неизвестный тип» неожиданный 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(47,84): ошибка C2589: '(': недопустимый токен в правой части '::' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(47,84): ошибка C2059: синтаксическая ошибка: ')' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(47,89): ошибка C2059: синтаксическая ошибка: ')' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(47,91): ошибка C2143: синтаксическая ошибка: отсутствует ';' до '{' 1>(компиляция исходного файла «Source/main.cpp») 1>Завершено создание проекта «PROJECTNAME.vcxproj» — НЕУДАЧА. ========== Сборка: 0 успешна, 1 неудачна, 1 актуальна, 0 пропущена ========== В журнале часто указывается (компиляция исходного файла «Source/main.cpp»), но я ничего не могу изменить в своем файле mail.cpp. Вот файл:
#include #include int main(int argc, char *argv[]) { #если определено(Q_OS_WIN) QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); #endif Приложение QGuiApplication (argc, argv); Движок QQmlApplicationEngine; engine.load(QUrl(QStringLiteral("qrc:/qt/qml/PROJECTNAME/main.qml"))); если (engine.rootObjects().isEmpty()) вернуть -1; вернуть приложение.exec(); } Это примерно то же самое, что мне дали, когда я создавал проект. Я не могу понять, какое отношение к этому имеют ошибки. Наконец, если я просто продолжу попытки, это сработает, и мне ничего не придется менять. Обычно второй или третий раз, но что-то нужно около этого.
Какая возможная причина этой ошибки? Я ничего не могу найти, и мне нужно исправление, поскольку это сильно мешает разработке моего приложения.
Заранее спасибо!
У меня есть проект QML (приложение QtQuick) в Visual Studio 2022. Я использую Visual Studio, поскольку интегрирую QML для пользовательского интерфейса в более крупный проект и не хочу переключать среду разработки. У меня есть расширение Qt VS Tools, и проект Qt Widgets работает нормально, это проблема только с QtQuick.
Каждый раз, когда я запускаю свое приложение (с помощью F5), меня встречает множество ошибок, которые, насколько я могу судить, не имеют никакого отношения к моему проекту.
Вот журнал вывода:
1>main.cpp 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(23,60): предупреждение C4003: недостаточно аргументов для вызова функционального макроса 'min' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(24,46): предупреждение C4003: недостаточно аргументов для вызова функционального макроса «max» 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(35,69): предупреждение C4003: недостаточно аргументов для вызова функционального макроса «max» 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(47,44): предупреждение C4003: недостаточно аргументов для вызова функционального макроса 'min' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(47,84): предупреждение C4003: недостаточно аргументов для вызова функционального макроса «max» 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(23,60): ошибка C2589: '(': недопустимый токен в правой части '::' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(23,34): ошибка C2062: тип «неизвестный тип» неожиданный 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(24,46): ошибка C2589: '(': недопустимый токен в правой части '::' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(24,46): ошибка C2059: синтаксическая ошибка: ')' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(24,51): ошибка C2059: синтаксическая ошибка: ')' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(24,53): ошибка C2143: синтаксическая ошибка: отсутствует ';' до '{' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(19,27): ошибка C3615: функция constexpr 'QJSNumberCoercion::isInteger' не может привести к постоянному выражению 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(19,27): 1>сбой был вызван тем, что управление достигло конца функции constexpr 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(35,69): ошибка C2589: '(': недопустимый токен в правой части '::' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(35,43): ошибка C2062: тип «неизвестный тип» неожиданный 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(35,74): ошибка C2059: синтаксическая ошибка: ')' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(35,76): ошибка C2143: синтаксическая ошибка: отсутствует ';' до '{' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(33,27): ошибка C3615: функция constexpr 'QJSNumberCoercion::isArrayIndex' не может привести к постоянному выражению 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(33,27): 1>сбой был вызван тем, что управление достигло конца функции constexpr 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(47,44): ошибка C2589: '(': недопустимый токен в правой части '::' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(47,18): ошибка C2062: тип «неизвестный тип» неожиданный 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(47,84): ошибка C2589: '(': недопустимый токен в правой части '::' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(47,84): ошибка C2059: синтаксическая ошибка: ')' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(47,89): ошибка C2059: синтаксическая ошибка: ')' 1>(компиляция исходного файла «Source/main.cpp») 1> C:\Qt\6.6.0\msvc2019_64\include\QtQml\qjsnumbercoercion.h(47,91): ошибка C2143: синтаксическая ошибка: отсутствует ';' до '{' 1>(компиляция исходного файла «Source/main.cpp») 1>Завершено создание проекта «PROJECTNAME.vcxproj» — НЕУДАЧА. ========== Сборка: 0 успешна, 1 неудачна, 1 актуальна, 0 пропущена ========== В журнале часто указывается (компиляция исходного файла «Source/main.cpp»), но я ничего не могу изменить в своем файле mail.cpp. Вот файл:
#include #include int main(int argc, char *argv[]) { #если определено(Q_OS_WIN) QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); #endif Приложение QGuiApplication (argc, argv); Движок QQmlApplicationEngine; engine.load(QUrl(QStringLiteral("qrc:/qt/qml/PROJECTNAME/main.qml"))); если (engine.rootObjects().isEmpty()) вернуть -1; вернуть приложение.exec(); } Это примерно то же самое, что мне дали, когда я создавал проект. Я не могу понять, какое отношение к этому имеют ошибки. Наконец, если я просто продолжу попытки, это сработает, и мне ничего не придется менять. Обычно второй или третий раз, но что-то нужно около этого.
Какая возможная причина этой ошибки? Я ничего не могу найти, и мне нужно исправление, поскольку это сильно мешает разработке моего приложения.
Заранее спасибо!
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Проект QML выдает бессмысленные ошибки, а затем работает случайным образом
Anonymous » » в форуме C++ - 0 Ответы
- 33 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Пользовательский тип C++ из модуля QML не определен при использовании внутри файла QML.
Anonymous » » в форуме C++ - 0 Ответы
- 39 Просмотры
-
Последнее сообщение Anonymous
-