首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >构建JOGL在c.build.nativewindow.awt过程中出现gcc错误: jawt.dll:文件无法识别:文件格式无法识别

构建JOGL在c.build.nativewindow.awt过程中出现gcc错误: jawt.dll:文件无法识别:文件格式无法识别
EN

Stack Overflow用户
提问于 2018-12-27 12:40:06
回答 1查看 137关注 0票数 0

我构建了Ant,并且我正在使用它来构建JOGL。在这个版本中,我恢复到了java 1.8。我安装了MinGW32,我可以使用gcc。我用ant构建了gluegen,它就像一个护身符。在一个干净的构建中,在jogl中做同样的事情会得到以下日志(缩写):

代码语言:javascript
复制
    c.configure:

c.build.nativewindow.windowlib.x11:

c.build.nativewindow.windowlib.windows:
     [echo] Output lib name = nativewindow_win32
     [echo] c.compiler.use-jawt false
     [echo] nativewindow_win32.useLibJAWT ${nativewindow_win32.useLibJAWT}
     [echo] Compiling nativewindow_win32
     [echo] java.lib.dir.platform: C:\Program Files\Java\jdk1.8.0_191\jre/../jre/bin
       [cc] 4 total files to be compiled.
       [cc] cc1.exe: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C
       [cc] C:\Users\micha\git\opengl\jogl\src\nativewindow\native\NativewindowCommon.c: In function 'NativewindowCommon_CurrentTimeMillis':
       [cc] C:\Users\micha\git\opengl\jogl\src\nativewindow\native\NativewindowCommon.c:155:5: warning: 'gettimeofday' is deprecated [-Wdeprecated-declarations]
       [cc]      gettimeofday(&tv,NULL);
       [cc]      ^~~~~~~~~~~~
       [cc] In file included from C:\Users\micha\git\opengl\jogl\src\nativewindow\native\NativewindowCommon.c:4:0:
       [cc] c:\mingw\include\sys\time.h:106:53: note: declared here
       [cc]  int __cdecl __MINGW_NOTHROW __POSIX_2008_DEPRECATED gettimeofday
       [cc]                                                      ^~~~~~~~~~~~
       [cc] cc1.exe: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C
       [cc] cc1.exe: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C
       [cc] cc1.exe: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C
       [cc] Starting link

rename.dylib:

rename.mingw.dll:
     [move] Moving 1 file to C:\Users\micha\git\opengl\jogl\build\nativewindow\obj

gluegen.properties.load.user:

gluegen.cpptasks.initialize:
     [echo] os.name=Windows 10
     [echo] os.version=10.0
     [echo] os.arch=amd64
     [echo] nativejartag.prefix = jogamp/nativetag
     [echo] c.compiler.debug=false
     [echo] c.compiler.use-debug=${c.compiler.use-debug}
     [echo] c.compiler.optimise=none

gluegen.cpptasks.striplibs:
     [echo] Strip symbols from libs in ../build/nativewindow/obj

c.build.nativewindow.windowlib.macosx:

c.build.nativewindow.windowlib:

c.build.nativewindow.awt:
     [echo] Output lib name = nativewindow_awt
     [echo] c.compiler.use-jawt true
     [echo] nativewindow_awt.useLibJAWT true
     [echo] Compiling nativewindow_awt
     [echo] java.lib.dir.platform: C:\Program Files\Java\jdk1.8.0_191\jre/../jre/bin
       [cc] 6 total files to be compiled.
       [cc] cc1.exe: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C
       [cc] cc1.exe: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C
       [cc] cc1.exe: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C
       [cc] cc1.exe: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C
       [cc] cc1.exe: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C
       [cc] cc1.exe: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C
       [cc] Starting link
       [cc] ..\..\..\..\..\..\..\..\Program Files\Java\jdk1.8.0_191\jre\bin/jawt.dll: file not recognized: File format not recognized
       [cc] collect2.exe: error: ld returned 1 exit status

BUILD FAILED
C:\Users\micha\git\opengl\jogl\make\build.xml:71: The following error occurred while executing this line:
C:\Users\micha\git\opengl\jogl\make\build-nativewindow.xml:761: The following error occurred while executing this line:
C:\Users\micha\git\opengl\jogl\make\build-nativewindow.xml:701: gcc failed with return code 1

Total time: 12 seconds

我运行的是Windows 10,Ant 1.10.5。我知道“文件格式不被识别”错误意味着

EN

回答 1

Stack Overflow用户

发布于 2018-12-27 12:42:25

好的,我在发完这篇文章后马上就明白了。我使用的是MinGW32,而我本应该使用64位替代方案。切换到MinGW64后,构建成功。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53939829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档