-
Notifications
You must be signed in to change notification settings - Fork 534
Closed
Description
Brief Description
I need to create a wrapper for oofem ( https://github.com/oofem/oofem/ ) for C# in Windows, I use the libraries and headers.
the problem with Templates like floatmatrixf.h (https://github.com/oofem/oofem/blob/master/src/oofemlib/floatmatrixf.h) and floatarrayf.h (https://github.com/oofem/oofem/blob/master/src/oofemlib/floatarrayf.h)
driver.Options.GenerateDefaultValuesForArguments = true;
driver.Options.GenerateClassTemplates = true;
driver.ParserOptions.EnableRTTI = true;
driver.Options.GeneratorKind = GeneratorKind.CSharp;
driver.ParserOptions.LanguageVersion = CppSharp.Parser.LanguageVersion.CPP14;
driver.ParserOptions.UnityBuild = true;
driver.ParserOptions.AddArguments("-fcxx-exceptions");
driver.ParserOptions.AddArguments("-fexceptions");
driver.Options.OutputDir = $@"{thedirectory}\oofem\CSharp";
driver.ParserOptions.SetupMSVC(VisualStudioVersion.Latest);
var module = driver.Options.AddModule("oofem");
module.LibraryDirs.Add($@"{thedirectory}\oofem\build\Debug");
module.Libraries.Add("oofem.lib");
module.IncludeDirs.Add($@"{thedirectory}\oofem\Build");
module.IncludeDirs.Add($@"{thedirectory}\oofem\src\oofemlib");
module.IncludeDirs.Add($@"{thedirectory}\oofem\src\sm");
module.Headers.Add(@"engngm.h");
module.Headers.Add(@"util.h");
module.Headers.Add(@"domain.h");
module.Headers.Add(@"floatarray.h");
//module.Headers.Add(@"floatarrayf.h");
module.Headers.Add(@"floatmatrix.h");
module.Headers.Add(@"floatmatrixf.h");
OS: Windows 11 (dotnet 5.0, last commit of CPPSharp)
Used headers
https://github.com/oofem/oofem/tree/master/src/oofemlib
https://github.com/oofem/oofem/tree/master/src/sm
Used settings
Target: C#
Stack trace or incompilable generated code
Unhandled exception. System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
at System.Collections.Generic.List`1.get_Item(Int32 index)
at CppSharp.Passes.MatchParamNamesWithInstantiatedFromPass.VisitFunctionDecl(Function function) in M:\My_Projects\CppSharp\src\Generator\Passes\MatchParamNamesWithInstantiatedFromPass.cs:line 23
at CppSharp.AST.AstVisitor.VisitMethodDecl(Method method) in M:\My_Projects\CppSharp\src\AST\ASTVisitor.cs:line 475
at CppSharp.AST.AstVisitor.VisitClassDecl(Class class) in M:\My_Projects\CppSharp\src\AST\ASTVisitor.cs:line 407
at CppSharp.AST.AstVisitor.VisitClassTemplateSpecializationDecl(ClassTemplateSpecialization specialization) in M:\My_Projects\CppSharp\src\AST\ASTVisitor.cs:line 566
at CppSharp.AST.AstVisitor.VisitClassDecl(Class class) in M:\My_Projects\CppSharp\src\AST\ASTVisitor.cs:line 416
at CppSharp.AST.Class.Visit[T](IDeclVisitor`1 visitor) in M:\My_Projects\CppSharp\src\AST\Class.cs:line 291
at CppSharp.AST.AstVisitor.VisitDeclarationContext(DeclarationContext context) in M:\My_Projects\CppSharp\src\AST\ASTVisitor.cs:line 627
at CppSharp.AST.AstVisitor.VisitNamespace(Namespace namespace) in M:\My_Projects\CppSharp\src\AST\ASTVisitor.cs:line 618
at CppSharp.AST.Namespace.Visit[T](IDeclVisitor`1 visitor) in M:\My_Projects\CppSharp\src\AST\Namespace.cs:line 388
at CppSharp.AST.AstVisitor.VisitDeclarationContext(DeclarationContext context) in M:\My_Projects\CppSharp\src\AST\ASTVisitor.cs:line 653
at CppSharp.Passes.TranslationUnitPass.VisitTranslationUnit(TranslationUnit unit) in M:\My_Projects\CppSharp\src\Generator\Passes\Pass.cs:line 37
at CppSharp.Passes.TranslationUnitPass.VisitASTContext(ASTContext context) in M:\My_Projects\CppSharp\src\Generator\Passes\Pass.cs:line 24
at CppSharp.Generators.BindingContext.<RunPasses>b__37_0(TranslationUnitPass pass) in M:\My_Projects\CppSharp\src\Generator\BindingContext.cs:line 45
at CppSharp.PassBuilder`1.RunPasses(Action`1 action) in M:\My_Projects\CppSharp\src\Generator\Passes\PassBuilder.cs:line 57
at CppSharp.Generators.BindingContext.RunPasses() in M:\My_Projects\CppSharp\src\Generator\BindingContext.cs:line 39
at CppSharp.Driver.ProcessCode() in M:\My_Projects\CppSharp\src\Generator\Driver.cs:line 308
at CppSharp.ConsoleDriver.Run(ILibrary library) in M:\My_Projects\CppSharp\src\Generator\Driver.cs:line 451
at WrapGlobal.Program.Main(String[] args) in M:\My_Projects\WrapGlobal\WrapGlobal\Program.cs:line 116
Metadata
Metadata
Assignees
Labels
No labels