Open MayaPosch opened 4 years ago
I tried to use JNAerator to create a JNA binding for a simple library that has the following header: https://github.com/MayaPosch/NymphCast/blob/master/src/client_lib/nymphcast_client.h
Under MSYS2 Bash, I ran the following command:
java -jar /e/Projects/testing/JNAerator/jnaerator/target/jnaerator-0.13-SNAPSHOT-shaded.jar -library nymphcast_jna nymphcast_client.h -o . -v -mode StandaloneJar
Output:
5 21, 2020 6:17:56 ▒ߌ▒ com.ochafik.admin.visualstudio.VisualStudioUtils getProp INFO: [environment] ProgramFiles(x86)=C:\Program Files (x86) 5 21, 2020 6:17:56 ▒ߌ▒ com.ochafik.admin.visualstudio.VisualStudioUtils getProp INFO: [environment] VISUAL_STUDIO_HOME=C:\Program Files (x86)\Microsoft Visual Studio 14.0 5 21, 2020 6:17:56 ▒ߌ▒ com.ochafik.admin.visualstudio.VisualStudioUtils getProp INFO: [environment] ProgramFiles(x86)=C:\Program Files (x86) 5 21, 2020 6:17:56 ▒ߌ▒ com.ochafik.admin.visualstudio.VisualStudioUtils getProp INFO: [environment] WINDOWS_SDK_HOME=C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A 5 21, 2020 6:17:56 ▒ߌ▒ com.ochafik.admin.visualstudio.VisualStudioUtils getProp INFO: [environment] VISUAL_STUDIO_INCLUDES=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include;C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Include Auto-configuring parser... 5 21, 2020 6:17:56 ▒ߌ▒ com.ochafik.lang.jnaerator.JNAeratorConfigUtils getProp INFO: [environment] JNAERATOR_INCLUDE_PATH=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include;C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Include;. 5 21, 2020 6:17:56 ▒ߌ▒ com.ochafik.lang.jnaerator.JNAeratorConfigUtils getProp INFO: [environment] JNAERATOR_FRAMEWORKS_PATH=/System/Library/Frameworks/CoreServices.framework/Versions/Current/Frameworks;/System/Library/Frameworks/ApplicationServices.framework/Versions/Current/Frameworks;/System/Library/Frameworks;/Library/Frameworks;/Local/Library/Frameworks/;C:\Users\Maya/Library/Frameworks os.arch = amd64 5 21, 2020 6:17:56 ▒ߌ▒ com.ochafik.lang.jnaerator.JNAerator jnaerate INFO: Include path : C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Include . Parsing native headers... C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\crtdefs.h:1:0: error: File not found: corecrt.h in C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Include . C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\cmath:1:0: error: File not found: math.h in C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Include . C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\cstdlib:1:0: error: File not found: stdlib.h in C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Include . C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\cstdio:1:0: error: File not found: stdio.h in C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Include . C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\cstring:1:0: error: File not found: string.h in C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Include . C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\cstddef:1:0: error: File not found: stddef.h in C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Include . C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\exception:8:0: error: File not found: malloc.h in C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Include . C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\eh.h:1:0: error: File not found: corecrt_terminate.h in C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Include . C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\cfloat:1:0: error: File not found: float.h in C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Include . C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\cwchar:1:0: error: File not found: wchar.h in C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Include . C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\iosfwd:1:0: error: File not found: crtdbg.h in C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Include . C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xlocinfo.h:1:0: error: File not found: ctype.h in C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Include . C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xlocinfo.h:1:0: error: File not found: locale.h in C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Include . C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\cerrno:1:0: error: File not found: errno.h in C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Include . C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xiosbase:1:0: error: File not found: share.h in C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Include . E:\Projects\NymphCast\src\client_lib\nymphcast_client.h:20:0: error: File not found: nymph/nymph.h in C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Include . Writing preprocessor output to '_jnaerator.preprocessed.c' Writing preprocessor macros to '_jnaerator.macros.cpp' Now parsing 201 slices
fullParsing error.txt contents:
line 43:23 Failed to match any alternative with token [@324,853:858='_Fgetc',<14>,43:23] File: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\include\\fstream:42 Input: inline bool _Fgetc ( wchar_t & _Wchar Rule: 567:7: ({...}? => pragmaContent | functionDeclaration |{...}? => externDeclarations |{...}? => IDENTIFIER qualifiedIdentifier SEMICOLON | varDecl SEMICOLON | objCClassDef | typeDef | forwardClassDecl | namespaceDecl ) Stack: [] line 43:37 Failed to match any alternative with token [@327,867:867='&',<36>,43:37] File: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\include\\fstream:42 Input: bool _Fgetc ( wchar_t & _Wchar , FILE Rule: 567:7: ({...}? => pragmaContent | functionDeclaration |{...}? => externDeclarations |{...}? => IDENTIFIER qualifiedIdentifier SEMICOLON | varDecl SEMICOLON | objCClassDef | typeDef | forwardClassDecl | namespaceDecl ) Stack: [] line 43:39 Failed to match any alternative with token [@329,869:874='_Wchar',<14>,43:39] File: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\include\\fstream:42 Input: _Fgetc ( wchar_t & _Wchar , FILE * Rule: 567:7: ({...}? => pragmaContent | functionDeclaration |{...}? => externDeclarations |{...}? => IDENTIFIER qualifiedIdentifier SEMICOLON | varDecl SEMICOLON | objCClassDef | typeDef | forwardClassDecl | namespaceDecl ) Stack: [] line 43:47 Failed to match any alternative with token [@332,877:880='FILE',<14>,43:47] File: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\include\\fstream:42 Input: & _Wchar , FILE * _File ) Rule: 567:7: ({...}? => pragmaContent | functionDeclaration |{...}? => externDeclarations |{...}? => IDENTIFIER qualifiedIdentifier SEMICOLON | varDecl SEMICOLON | objCClassDef | typeDef | forwardClassDecl | namespaceDecl ) Stack: [] line 43:53 Failed to match any alternative with token [@335,883:887='_File',<14>,43:53] File: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\include\\fstream:42 Input: , FILE * _File ) { Rule: 567:7: ({...}? => pragmaContent | functionDeclaration |{...}? => externDeclarations |{...}? => IDENTIFIER qualifiedIdentifier SEMICOLON | varDecl SEMICOLON | objCClassDef | typeDef | forwardClassDecl | namespaceDecl ) Stack: [] line 46:1 mismatched input [@351,953:954='if',<91>,46:1] expecting RBRACE line 46:12 mismatched input [@357,964:964='=',<57>,46:12] expecting RPAREN line 46:14 Failed to match any alternative with token [@359,966:967='::',<52>,46:14] File: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\include\\fstream:45 Input: ( _Meta = :: fgetwc Rule: Stack: []
Despite pegging the CPU at 100% across all its cores for hours on end (I let the job run overnight), no output is produced.
I tried to use JNAerator to create a JNA binding for a simple library that has the following header: https://github.com/MayaPosch/NymphCast/blob/master/src/client_lib/nymphcast_client.h
Under MSYS2 Bash, I ran the following command:
Output:
fullParsing error.txt contents:
Despite pegging the CPU at 100% across all its cores for hours on end (I let the job run overnight), no output is produced.