Skip to content

System.InvalidCastException: Can't cast type 'CppSharp.AST.Class' into 'CppSharp.AST.ClassTemplateSpecialization'. #82

Description

@nathan130200

I cloned repository, and i executed command to create bindings like in docs:

"..\QtSharp.CLI.exe" "C:\Qt\5.11.1\mingw53_32\bin\qmake.exe" "C:\Qt\Tools\mingw530_32\bin\mingw32-make.exe"

But throw an exception:

Exceção Sem Tratamento: System.InvalidCastException: Não é possível converter um objeto do tipo 'CppSharp.AST.Class' no tipo 'CppSharp.AST.ClassTemplateSpecialization'.
   em CppSharp.DeclConverter.VisitClassTemplate(ClassTemplate decl)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.TypeConverter.VisitTemplateSpecialization(TemplateSpecializationType type)
   em CppSharp.TypeVisitor`1.Visit(Type type)
   em CppSharp.TypeConverter.VisitQualified(QualifiedType qualType)
   em CppSharp.DeclConverter.VisitTypedef(TypedefDecl decl)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.DeclConverter.VisitDeclContext(DeclarationContext ctx, DeclarationContext _ctx)
   em CppSharp.DeclConverter.VisitClass(Class class, Class _class)
   em CppSharp.DeclConverter.VisitClass(Class class)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.DeclConverter.VisitTemplate(Template template, Template _template)
   em CppSharp.DeclConverter.VisitClassTemplate(ClassTemplate decl)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.TypeConverter.VisitTemplateSpecialization(TemplateSpecializationType type)
   em CppSharp.TypeVisitor`1.Visit(Type type)
   em CppSharp.TypeConverter.VisitQualified(QualifiedType qualType)
   em CppSharp.DeclConverter.VisitTypedef(TypedefDecl decl)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.DeclConverter.VisitDeclContext(DeclarationContext ctx, DeclarationContext _ctx)
   em CppSharp.DeclConverter.VisitClass(Class class, Class _class)
   em CppSharp.DeclConverter.VisitClass(Class class)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.DeclConverter.VisitTemplate(Template template, Template _template)
   em CppSharp.DeclConverter.VisitClassTemplate(ClassTemplate decl)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.TypeConverter.VisitTemplateSpecialization(TemplateSpecializationType type)
   em CppSharp.TypeVisitor`1.Visit(Type type)
   em CppSharp.TypeConverter.VisitQualified(QualifiedType qualType)
   em CppSharp.DeclConverter.VisitTypeAlias(TypeAlias decl)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.DeclConverter.VisitTemplate(Template template, Template _template)
   em CppSharp.DeclConverter.VisitTypeAliasTemplate(TypeAliasTemplate decl)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.DeclConverter.VisitDeclContext(DeclarationContext ctx, DeclarationContext _ctx)
   em CppSharp.DeclConverter.VisitClass(Class class, Class _class)
   em CppSharp.DeclConverter.VisitClass(Class class)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.DeclConverter.VisitDeclaration(Declaration decl, Declaration _decl)
   em CppSharp.DeclConverter.VisitClass(Class class, Class _class)
   em CppSharp.DeclConverter.VisitClass(Class class)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.DeclConverter.VisitDeclaration(Declaration decl, Declaration _decl)
   em CppSharp.DeclConverter.VisitClass(Class class, Class _class)
   em CppSharp.DeclConverter.VisitClass(Class class)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.TypeConverter.VisitTag(TagType type)
   em CppSharp.TypeVisitor`1.Visit(Type type)
   em CppSharp.TypeConverter.VisitQualified(QualifiedType qualType)
   em CppSharp.TypeConverter.VisitPointer(PointerType type)
   em CppSharp.TypeVisitor`1.Visit(Type type)
   em CppSharp.TypeConverter.VisitQualified(QualifiedType qualType)
   em CppSharp.TypeConverter.VisitTemplateParameterSubstitution(TemplateParameterSubstitutionType type)
   em CppSharp.TypeVisitor`1.Visit(Type type)
   em CppSharp.TypeConverter.VisitQualified(QualifiedType qualType)
   em CppSharp.DeclConverter.VisitTypedef(TypedefDecl decl)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.DeclConverter.VisitDeclContext(DeclarationContext ctx, DeclarationContext _ctx)
   em CppSharp.DeclConverter.VisitClass(Class class, Class _class)
   em CppSharp.DeclConverter.VisitClassTemplateSpecialization(ClassTemplateSpecialization decl, ClassTemplateSpecialization _decl)
   em CppSharp.DeclConverter.VisitClassTemplateSpecialization(ClassTemplateSpecialization decl)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.DeclConverter.VisitClassTemplate(ClassTemplate decl)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.TypeConverter.VisitTemplateSpecialization(TemplateSpecializationType type)
   em CppSharp.TypeVisitor`1.Visit(Type type)
   em CppSharp.TypeConverter.VisitQualified(QualifiedType qualType)
   em CppSharp.TypeConverter.VisitDependentName(DependentNameType type)
   em CppSharp.TypeVisitor`1.Visit(Type type)
   em CppSharp.TypeConverter.VisitQualified(QualifiedType qualType)
   em CppSharp.DeclConverter.VisitTypedef(TypedefDecl decl)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.DeclConverter.VisitDeclContext(DeclarationContext ctx, DeclarationContext _ctx)
   em CppSharp.DeclConverter.VisitClass(Class class, Class _class)
   em CppSharp.DeclConverter.VisitClass(Class class)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.DeclConverter.VisitTemplate(Template template, Template _template)
   em CppSharp.DeclConverter.VisitClassTemplate(ClassTemplate decl)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.TypeConverter.VisitTemplateSpecialization(TemplateSpecializationType type)
   em CppSharp.TypeVisitor`1.Visit(Type type)
   em CppSharp.TypeConverter.VisitQualified(QualifiedType qualType)
   em CppSharp.DeclConverter.VisitTypedef(TypedefDecl decl)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.DeclConverter.VisitDeclContext(DeclarationContext ctx, DeclarationContext _ctx)
   em CppSharp.DeclConverter.VisitClass(Class class, Class _class)
   em CppSharp.DeclConverter.VisitClass(Class class)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.TypeConverter.VisitTag(TagType type)
   em CppSharp.TypeVisitor`1.Visit(Type type)
   em CppSharp.TypeConverter.VisitQualified(QualifiedType qualType)
   em CppSharp.DeclConverter.VisitField(Field decl)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.DeclConverter.VisitClass(Class class, Class _class)
   em CppSharp.DeclConverter.VisitClass(Class class)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.DeclConverter.VisitDeclContext(DeclarationContext ctx, DeclarationContext _ctx)
   em CppSharp.DeclConverter.VisitClass(Class class, Class _class)
   em CppSharp.DeclConverter.VisitClass(Class class)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.DeclConverter.VisitTemplate(Template template, Template _template)
   em CppSharp.DeclConverter.VisitClassTemplate(ClassTemplate decl)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.TypeConverter.VisitTemplateSpecialization(TemplateSpecializationType type)
   em CppSharp.TypeVisitor`1.Visit(Type type)
   em CppSharp.TypeConverter.VisitQualified(QualifiedType qualType)
   em CppSharp.DeclConverter.VisitTypedef(TypedefDecl decl)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.TypeConverter.VisitTypedef(TypedefType type)
   em CppSharp.TypeVisitor`1.Visit(Type type)
   em CppSharp.TypeConverter.VisitQualified(QualifiedType qualType)
   em CppSharp.DeclConverter.VisitTypedef(TypedefDecl decl)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.DeclConverter.VisitDeclContext(DeclarationContext ctx, DeclarationContext _ctx)
   em CppSharp.DeclConverter.VisitClass(Class class, Class _class)
   em CppSharp.DeclConverter.VisitClass(Class class)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.TypeConverter.VisitTag(TagType type)
   em CppSharp.TypeVisitor`1.Visit(Type type)
   em CppSharp.TypeConverter.VisitQualified(QualifiedType qualType)
   em CppSharp.DeclConverter.VisitFunction(Function function, Function _function)
   em CppSharp.DeclConverter.VisitFunction(Function decl)
   em CppSharp.DeclVisitor`1.Visit(Declaration decl)
   em CppSharp.DeclConverter.Visit(Declaration decl)
   em CppSharp.DeclConverter.VisitDeclContext(DeclarationContext ctx, DeclarationContext _ctx)
   em CppSharp.ASTConverter.Convert()
   em CppSharp.ClangParser.ConvertASTContext(ASTContext context)
   em CppSharp.Driver.ParseCode()
   em CppSharp.ConsoleDriver.Run(ILibrary library)
   em QtSharp.CLI.Program.Main(String[] args) na C:\Users\Nathan Ferreira\Desktop\QtSharp\QtSharp.CLI\Program.cs:linha 196

This line:

            ConsoleDriver.Run(qtSharp);

Qt and QMake Version: 5.11.1
Mingw Version: mingw530_32
Platform: mingw32

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions