написанный с qt 5.15 со стандартом c++17 без ошибок компилируется на linux с gcc, но на windows с msvc при компиляции одного виджета несколько раз повторяется одна и та же ошибка
(compiling source file C:\Users\A\Desktop\work_project\geometry.cpp)
C:\Qt\5.15.2\msvc2019_64\include\QtCore/qmetatype.h(2288,1): message : while compiling class template member function 'int QMetaTypeId<T>::qt_metatype_id(void)' [ C:\Users\A\Desktop\work_project\build\Debug\work_project\work_project.vcxproj]
with
[
T=QPair<QVariant,QVariant>
]
интуитивно чувствую что причина может быть связана с moc потому что в файлах проекта ошибок не находит, но находит ошибку в файлах самого qt, но ничего дельного нагуглить не смог, в чем может быть причина?
Какой версие вы используете mscv
cmake выдает Selecting Windows SDK version 10.0.22000.0 to target Windows 10.0.19044. The C compiler identification is MSVC 19.36.32532.0 The CXX compiler identification is MSVC 19.36.32532.0
Исрользуйте старых версие mscv
к какой конкретно версии откатить не подсажете?
так это вроде не ошибка, а сообщение? это полный его текст?
ну оно длинное но вроде сообщение одно и то же всегда C:\Qt\5.15.2\msvc2019_64\include\QtCore/qmetatype.h(825,25): error C2061: syntax error: identifier 'where' (compiling source file C:\Users\govno\Desktop\work_project\geometry.cpp) [C:\Users\govno\Desktop\work_project\build\Debug\work_project\work_project.vcxproj] C:\Qt\5.15.2\msvc2019_64\include\QtCore/qmetatype.h(822,18): message : while compiling class template member function 'void *QtMetaTypePrivate::QMetaTypeFunctionHelper<T,true>::Construct(void *,const void *)' [C:\Users\govno\Desktop\work_project\build\Debug\work_project\work_project.vcxproj] with [ T=QPair<QVariant,QVariant> ] (compiling source file C:\Users\govno\Desktop\work_project\geometry.cpp) C:\Qt\5.15.2\msvc2019_64\include\QtCore/qmetatype.h(1866,18): message : see the first reference to 'QtMetaTypePrivate::QMetaTypeFunctionHelper<T,true>::Construct' in 'qRegisterNormalizedMetaType' [C:\Users\govno\Desktop\work_project\build\Debug\work_project\work_project.vcxproj] with [ T=QPair<QVariant,QVariant> ] (compiling source file C:\Users\govno\Desktop\work_project\geometry.cpp) C:\Qt\5.15.2\msvc2019_64\include\QtCore/qmetatype.h(1867,1): message : see reference to class template instantiation 'QtMetaTypePrivate::QMetaTypeFunctionHelper<T,true>' being compiled [C:\Users\govno\Desktop\work_project\build\Debug\work_project\work_project.vcxproj] with [ T=QPair<QVariant,QVariant> ] (compiling source file C:\Users\govno\Desktop\work_project\geometry.cpp) C:\Qt\5.15.2\msvc2019_64\include\QtCore/qmetatype.h(2288,1): message : see reference to function template instantiation 'int qRegisterNormalizedMetaType<QPair<QVariant,QVariant>>(const QByteArray &,T *,QtPrivate::MetaTypeDefinedHelper<T,true>::DefinedType)' being compiled [C:\Users\govno\Desktop\work_project\build\Debug\work_project\work_project.vcxproj] with [ T=QPair<QVariant,QVariant> ] (compiling source file C:\Users\govno\Desktop\work_project\geometry.cpp) C:\Qt\5.15.2\msvc2019_64\include\QtCore/qmetatype.h(2288,1): message : while compiling class template member function 'int QMetaTypeId<T>::qt_metatype_id(void)' [C:\Users\govno\Desktop\work_project\build\Debug\work_project\work_project.vcxproj] with [ T=QPair<QVariant,QVariant> ] (compiling source file C:\Users\govno\Desktop\work_project\geometry.cpp) C:\Qt\5.15.2\msvc2019_64\include\QtCore/qmetatype.h(1776,59): message : see the first reference to 'QMetaTypeId<T>::qt_metatype_id' in 'QMetaTypeId2<T>::qt_metatype_id' [C:\Users\govno\Desktop\work_project\build\Debug\work_project\work_project.vcxproj] with [ T=QPair<QVariant,QVariant> ] (compiling source file C:\Users\govno\Desktop\work_project\geometry.cpp) C:\Qt\5.15.2\msvc2019_64\include\QtCore/qmetatype.h(1917,5): message : see the first reference to 'QMetaTypeId2<T>::qt_metatype_id' in 'qMetaTypeId' [C:\Users\govno\Desktop\work_project\build\Debug\work_project\work_project.vcxproj] with [ T=QPair<QVariant,QVariant> ] (compiling source file C:\Users\govno\Desktop\work_project\geometry.cpp) C:\Qt\5.15.2\msvc2019_64\include\QtCore/qmetatype.h(1775,1): message : see reference to class template instantiation 'QMetaTypeId<T>' being compiled [C:\Users\govno\Desktop\work_project\build\Debug\work_project\work_project.vcxproj] with [ T=QPair<QVariant,QVariant> ] (compiling source file C:\Users\govno\Desktop\work_project\geometry.cpp) C:\Qt\5.15.2\msvc2019_64\include\QtCore/qmetatype.h(1916,1): message : see reference to class template instantiation 'QMetaTypeId2<T>' being compiled [C:\Users\govno\Desktop\work_project\build\Debug\work_project\work_project.vcxproj] with [ T=QPair<QVariant,QVariant> ] (compiling source file C:\Users\govno\Desktop\work_project\geometry.cpp) ...
Странная названия папки
Это имя пользователя😶
это на виртуалке
во, в конце советует референсы на конкретные функции и типы посмотреть.
как это можно сделать?
в доки кутэшные конкретной версии глянуть, или в сорсы.
а это нормально? include\QtCore/qmetatype.h
а это нормально? include\QtCore/qmetatype.h
¯\_(ツ)_/¯, у меня в проекте конкретно этот хедер нигде не инклюдится, оно просто в ошибках так выводит почему то
Обсуждают сегодня