【问题标题】:Building JOGL gives gcc error during c.build.nativewindow.awt: jawt.dll: file not recognized: File format not recognized构建 JOGL 在 c.build.nativewindow.awt 期间出现 gcc 错误:jawt.dll:文件无法识别:文件格式无法识别
【发布时间】:2019-05-25 04:12:16
【问题描述】:

我构建了 Ant,并且正在使用它来构建 JOGL。我为这个构建恢复到 java 1.8。我安装了 MinGW32,我可以使用 gcc。我用蚂蚁建造了胶原,它就像一个魅力。在 jogl 中对干净的构建执行相同的操作会得到以下日志(缩写):

    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。我知道“文件格式无法识别”错误意味着

【问题讨论】:

    标签: gcc build ant jogl


    【解决方案1】:

    好的,我在发布后立即想通了。我使用的是 MinGW32,而我本应该使用 64 位替代方案。切换到 MinGW64 后,构建成功。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-13
      • 1970-01-01
      • 2013-06-12
      • 2018-02-15
      • 2022-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多