Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JNAbagator用于生成Java JNA包装器的SimpleMeaningfulExample无法工作_Java_Jna_Jnaerator - Fatal编程技术网

JNAbagator用于生成Java JNA包装器的SimpleMeaningfulExample无法工作

JNAbagator用于生成Java JNA包装器的SimpleMeaningfulExample无法工作,java,jna,jnaerator,Java,Jna,Jnaerator,我尝试了JNAvior SimpleMeaningFule示例 和 得到: …在Mac OS X 10.5.8和Ubuntu 8.04上,都运行Java 1.5.0_20 我在Mac OS X上切换到1.6.0_15并再次尝试,得到: $ java -jar jnaerator-0.9.2.jar -library Test Test.h -o . -v Auto-configuring parser... Nov 20, 2009 5:12:43 PM com.ochafik.lang.jna

我尝试了JNAvior SimpleMeaningFule示例 和 得到:

…在Mac OS X 10.5.8和Ubuntu 8.04上,都运行Java 1.5.0_20

我在Mac OS X上切换到1.6.0_15并再次尝试,得到:

$ java -jar jnaerator-0.9.2.jar -library Test Test.h -o . -v
Auto-configuring parser...
Nov 20, 2009 5:12:43 PM com.ochafik.lang.jnaerator.JNAeratorConfigUtils getProp
INFO: [environment] JNAERATOR_INCLUDE_PATH=.:/usr/include
Nov 20, 2009 5:12:43 PM 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/:/Users/dspitzer/Library/Frameworks
os.arch = x86_64
Nov 20, 2009 5:12:43 PM com.ochafik.lang.jnaerator.JNAerator jnaerate
INFO: Include path : 
        .
        /usr/include
Parsing native headers...
Writing preprocessor output to '_jnaerator.preprocessed.c'
Writing preprocessor macros to '_jnaerator.macros.cpp'
line 0:-1 Failed to match any alternative with token [@-1,0:0='<no text>',<-1>,0:-1]
         File: null:0
        Input: 
         Rule: 1501:1: castExpr returns [Expression expr] : ( '(' tr= mutableTypeRef ')' inner= castExpr | e= unaryExpr );
        Stack: []

line 0:-1 Failed to match any alternative with token [@-1,0:0='<no text>',<-1>,0:-1]
         File: null:0
        Input: 
         Rule: 1501:1: castExpr returns [Expression expr] : ( '(' tr= mutableTypeRef ')' inner= castExpr | e= unaryExpr );
        Stack: []

line 0:-1 Failed to match any alternative with token [@-1,0:0='<no text>',<-1>,0:-1]
         File: null:0
        Input: 
         Rule: 1501:1: castExpr returns [Expression expr] : ( '(' tr= mutableTypeRef ')' inner= castExpr | e= unaryExpr );
        Stack: []

Now parsing 1 text blocks
Normalizing parsed code...
Generating libraries...
JNAeration failed !
java.lang.NullPointerException
        at com.ochafik.lang.jnaerator.TypeConversion.convertExpressionToJava(TypeConversion.java:1391)
        at com.ochafik.lang.jnaerator.TypeConversion.convertExpressionToJava(TypeConversion.java:1223)
        at com.ochafik.lang.jnaerator.DeclarationsConverter.convertVariablesDeclaration(DeclarationsConverter.java:1087)
        at com.ochafik.lang.jnaerator.DeclarationsConverter.convertVariablesDeclaration(DeclarationsConverter.java:1134)
        at com.ochafik.lang.jnaerator.DeclarationsConverter.convertStruct(DeclarationsConverter.java:873)
        at com.ochafik.lang.jnaerator.DeclarationsConverter.outputConvertedStruct(DeclarationsConverter.java:950)
        at com.ochafik.lang.jnaerator.DeclarationsConverter.convertStructs(DeclarationsConverter.java:1055)
        at com.ochafik.lang.jnaerator.JNAerator.generateLibraryFiles(JNAerator.java:1102)
        at com.ochafik.lang.jnaerator.JNAerator.jnaerationCore(JNAerator.java:1322)
        at com.ochafik.lang.jnaerator.JNAerator.jnaerate(JNAerator.java:700)
        at com.ochafik.lang.jnaerator.JNAerator$1.finished(JNAerator.java:613)
        at com.ochafik.lang.jnaerator.JNAeratorCommandLineArgs$ArgsParser.parse(JNAeratorCommandLineArgs.java:127)
        at com.ochafik.lang.jnaerator.JNAerator.main(JNAerator.java:256)
我做错什么了吗

更新:我发布了我的问题来查看这个帖子:并收到了来自JNB项目所有者Olivier Chafik的回复。总结如下:

我在JNOR中发现了一个回归 他上传了一个固定的快照构建: 该构建工作得更好,但没有生成TestLibrary.java 我提交了一份bug报告:
更新2:Olivier在意识到缺少TestLibrary.java不是一个bug之后,因为默认情况下它嵌入在生成的Test.jar文件中。

好吧,你自己已经解决了这个问题。版本问题

消息告诉您,您的JRE不知道如何执行jar中的类,因为jar中的类的版本比JRE本身更新

jar文件可能是用Java1.6.x编译的。因此,当您尝试执行它时,JRE会抱怨UnsupportedClassVersionError:错误的版本号,因为JRE的版本低于编译源代码的JDK版本。JRE 1.5无法读取jar中类的较新类文件版本


当您切换到Java 1.6.015时,用于编译jar文件的JDK的主要Java版本和用于运行jar的JRE版本都是相同的1.6.x,并且运行良好。

好吧,您自己已经解决了问题。版本问题

消息告诉您,您的JRE不知道如何执行jar中的类,因为jar中的类的版本比JRE本身更新

jar文件可能是用Java1.6.x编译的。因此,当您尝试执行它时,JRE会抱怨UnsupportedClassVersionError:错误的版本号,因为JRE的版本低于编译源代码的JDK版本。JRE 1.5无法读取jar中类的较新类文件版本


当您切换到Java 1.6.015时,用于编译jar文件的JDK的主要Java版本和用于运行jar的JRE版本都是相同的1.6.x,并且运行良好。

我自己解决了一半问题。在我切换到Java 1.6.0_15之后,JNB失败,出现NullPointerException。我希望有人知道为什么。错过了。只是跳过了阅读整个第二次输出粘贴。由于它看起来运行正常,我自己解决了一半的问题。在我切换到Java 1.6.0_15之后,JNB失败,出现NullPointerException。我希望有人知道为什么。错过了。只是跳过了阅读整个第二次输出粘贴。因为它看起来运行正常
$ java -jar jnaerator-0.9.2.jar -library Test Test.h -o . -v
Auto-configuring parser...
Nov 20, 2009 5:12:43 PM com.ochafik.lang.jnaerator.JNAeratorConfigUtils getProp
INFO: [environment] JNAERATOR_INCLUDE_PATH=.:/usr/include
Nov 20, 2009 5:12:43 PM 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/:/Users/dspitzer/Library/Frameworks
os.arch = x86_64
Nov 20, 2009 5:12:43 PM com.ochafik.lang.jnaerator.JNAerator jnaerate
INFO: Include path : 
        .
        /usr/include
Parsing native headers...
Writing preprocessor output to '_jnaerator.preprocessed.c'
Writing preprocessor macros to '_jnaerator.macros.cpp'
line 0:-1 Failed to match any alternative with token [@-1,0:0='<no text>',<-1>,0:-1]
         File: null:0
        Input: 
         Rule: 1501:1: castExpr returns [Expression expr] : ( '(' tr= mutableTypeRef ')' inner= castExpr | e= unaryExpr );
        Stack: []

line 0:-1 Failed to match any alternative with token [@-1,0:0='<no text>',<-1>,0:-1]
         File: null:0
        Input: 
         Rule: 1501:1: castExpr returns [Expression expr] : ( '(' tr= mutableTypeRef ')' inner= castExpr | e= unaryExpr );
        Stack: []

line 0:-1 Failed to match any alternative with token [@-1,0:0='<no text>',<-1>,0:-1]
         File: null:0
        Input: 
         Rule: 1501:1: castExpr returns [Expression expr] : ( '(' tr= mutableTypeRef ')' inner= castExpr | e= unaryExpr );
        Stack: []

Now parsing 1 text blocks
Normalizing parsed code...
Generating libraries...
JNAeration failed !
java.lang.NullPointerException
        at com.ochafik.lang.jnaerator.TypeConversion.convertExpressionToJava(TypeConversion.java:1391)
        at com.ochafik.lang.jnaerator.TypeConversion.convertExpressionToJava(TypeConversion.java:1223)
        at com.ochafik.lang.jnaerator.DeclarationsConverter.convertVariablesDeclaration(DeclarationsConverter.java:1087)
        at com.ochafik.lang.jnaerator.DeclarationsConverter.convertVariablesDeclaration(DeclarationsConverter.java:1134)
        at com.ochafik.lang.jnaerator.DeclarationsConverter.convertStruct(DeclarationsConverter.java:873)
        at com.ochafik.lang.jnaerator.DeclarationsConverter.outputConvertedStruct(DeclarationsConverter.java:950)
        at com.ochafik.lang.jnaerator.DeclarationsConverter.convertStructs(DeclarationsConverter.java:1055)
        at com.ochafik.lang.jnaerator.JNAerator.generateLibraryFiles(JNAerator.java:1102)
        at com.ochafik.lang.jnaerator.JNAerator.jnaerationCore(JNAerator.java:1322)
        at com.ochafik.lang.jnaerator.JNAerator.jnaerate(JNAerator.java:700)
        at com.ochafik.lang.jnaerator.JNAerator$1.finished(JNAerator.java:613)
        at com.ochafik.lang.jnaerator.JNAeratorCommandLineArgs$ArgsParser.parse(JNAeratorCommandLineArgs.java:127)
        at com.ochafik.lang.jnaerator.JNAerator.main(JNAerator.java:256)