GCJ(GNU Compiler for Java)无法在windows上正常编译

我正在尝试在windows11系统上构建GCJ,用MinGW官网提供的gcj的.tar.gz覆盖MinGW(注意,不是MinGW-w64)程序文件夹,并使用gcj --main=Test Test.java编译java源码
编译器报错,提醒无法找到_Unwind_Resume',_Unwind_RaiseException',`_Unwind_GetRegionStart'等符号,查阅各种资料无果
希望能有大神帮忙解答一下这个问题,完整报错信息如下:

C:\Users\17267\Desktop>gcj --main=Test Test.java
C:\Users\17267\AppData\Local\Temp/ccM1aaaa.i: In function 'main':
C:\Users\17267\AppData\Local\Temp/ccM1aaaa.i:11:4: warning: implicit declaration of function 'JvRunMain' [-Wimplicit-function-declaration]
   11 |    JvRunMain (&_ZN4Test6class$E, argc, argv);
      |    ^~~~~~~~~
E:\Coding\Environments\MinGW32\bin\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\ld.exe: E:/Coding/Environments/MinGW32/bin/../lib/gcc-lib/mingw32/3.2/../../../libgcj.a(win32.o):win32.cc:(.data+0x0): multiple definition of `_CRT_MT'; E:/Coding/Environments/MinGW32/bin/../lib/gcc-lib/mingw32/3.2/../../../libmingw32.a(crtst.o):(.bss+0x0): first defined here
E:\Coding\Environments\MinGW32\bin\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\ld.exe: E:/Coding/Environments/MinGW32/bin/../lib/gcc-lib/mingw32/3.2/../../../libgcj.a(prims.o):prims.cc:(.text+0x1448): undefined reference to `_Unwind_Resume'
E:\Coding\Environments\MinGW32\bin\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\ld.exe: E:/Coding/Environments/MinGW32/bin/../lib/gcc-lib/mingw32/3.2/../../../libgcj.a(prims.o):prims.cc:(.text+0x15fb): undefined reference to `_Unwind_Resume'
E:\Coding\Environments\MinGW32\bin\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\ld.exe: E:/Coding/Environments/MinGW32/bin/../lib/gcc-lib/mingw32/3.2/../../../libgcj.a(jni.o):jni.cc:(.text+0x1a2): undefined reference to `_Unwind_Resume'
E:\Coding\Environments\MinGW32\bin\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\ld.exe: E:/Coding/Environments/MinGW32/bin/../lib/gcc-lib/mingw32/3.2/../../../libgcj.a(jni.o):jni.cc:(.text+0x246): undefined reference to `_Unwind_Resume'
E:\Coding\Environments\MinGW32\bin\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\ld.exe: E:/Coding/Environments/MinGW32/bin/../lib/gcc-lib/mingw32/3.2/../../../libgcj.a(jni.o):jni.cc:(.text+0x387): undefined reference to `_Unwind_Resume'
E:\Coding\Environments\MinGW32\bin\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\ld.exe: E:/Coding/Environments/MinGW32/bin/../lib/gcc-lib/mingw32/3.2/../../../libgcj.a(jni.o):jni.cc:(.text+0x615): more undefined references to `_Unwind_Resume' follow
E:\Coding\Environments\MinGW32\bin\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\ld.exe: E:/Coding/Environments/MinGW32/bin/../lib/gcc-lib/mingw32/3.2/../../../libgcj.a(exception.o):exception.cc:(.text+0x4b): undefined reference to `_Unwind_RaiseException'
E:\Coding\Environments\MinGW32\bin\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\ld.exe: E:/Coding/Environments/MinGW32/bin/../lib/gcc-lib/mingw32/3.2/../../../libgcj.a(exception.o):exception.cc:(.text+0x2ef): undefined reference to `_Unwind_GetRegionStart'
E:\Coding\Environments\MinGW32\bin\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\ld.exe: E:/Coding/Environments/MinGW32/bin/../lib/gcc-lib/mingw32/3.2/../../../libgcj.a(exception.o):exception.cc:(.text+0x412): undefined reference to `_Unwind_GetLanguageSpecificData'
E:\Coding\Environments\MinGW32\bin\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\ld.exe: E:/Coding/Environments/MinGW32/bin/../lib/gcc-lib/mingw32/3.2/../../../libgcj.a(exception.o):exception.cc:(.text+0x43b): undefined reference to `_Unwind_GetIP'
E:\Coding\Environments\MinGW32\bin\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\ld.exe: E:/Coding/Environments/MinGW32/bin/../lib/gcc-lib/mingw32/3.2/../../../libgcj.a(exception.o):exception.cc:(.text+0x5e5): undefined reference to `_Unwind_SetGR'
E:\Coding\Environments\MinGW32\bin\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\ld.exe: E:/Coding/Environments/MinGW32/bin/../lib/gcc-lib/mingw32/3.2/../../../libgcj.a(exception.o):exception.cc:(.text+0x5f7): undefined reference to `_Unwind_SetGR'
E:\Coding\Environments\MinGW32\bin\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\ld.exe: E:/Coding/Environments/MinGW32/bin/../lib/gcc-lib/mingw32/3.2/../../../libgcj.a(exception.o):exception.cc:(.text+0x606): undefined reference to `_Unwind_SetIP'
E:\Coding\Environments\MinGW32\bin\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\ld.exe: E:/Coding/Environments/MinGW32/bin/../lib/gcc-lib/mingw32/3.2/../../../libgcj.a(exception.o):exception.cc:(.text+0x116): undefined reference to `_Unwind_GetDataRelBase'
E:\Coding\Environments\MinGW32\bin\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\ld.exe: E:/Coding/Environments/MinGW32/bin/../lib/gcc-lib/mingw32/3.2/../../../libgcj.a(exception.o):exception.cc:(.text+0x12c): undefined reference to `_Unwind_GetRegionStart'
E:\Coding\Environments\MinGW32\bin\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\ld.exe: E:/Coding/Environments/MinGW32/bin/../lib/gcc-lib/mingw32/3.2/../../../libgcj.a(exception.o):exception.cc:(.text+0x137): undefined reference to `_Unwind_GetTextRelBase'
E:\Coding\Environments\MinGW32\bin\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\ld.exe: E:/Coding/Environments/MinGW32/bin/../lib/gcc-lib/mingw32/3.2/../../../libgcj.a(defineclass.o):defineclass.cc:(.text+0x151b): undefined reference to `_Unwind_Resume'
E:\Coding\Environments\MinGW32\bin\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\ld.exe: E:/Coding/Environments/MinGW32/bin/../lib/gcc-lib/mingw32/3.2/../../../libgcj.a(defineclass.o):defineclass.cc:(.text+0x209a): undefined reference to `_Unwind_Resume'
E:\Coding\Environments\MinGW32\bin\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\ld.exe: E:/Coding/Environments/MinGW32/bin/../lib/gcc-lib/mingw32/3.2/../../../libgcj.a(interpret.o):interpret.cc:(.text$_ZN16_Jv_InterpMethod3runEP7ffi_cifPvP7ffi_rawP26_Jv_InterpMethodInvocation[__ZN16_Jv_InterpMethod3runEP7ffi_cifPvP7ffi_rawP26_Jv_InterpMethodInvocation]+0x164): undefined reference to `_Unwind_Resume'
E:\Coding\Environments\MinGW32\bin\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\ld.exe: E:/Coding/Environments/MinGW32/bin/../lib/gcc-lib/mingw32/3.2/../../../libgcj.a(verify.o):verify.cc:(.text+0xef): undefined reference to `_Unwind_Resume'
E:\Coding\Environments\MinGW32\bin\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\ld.exe: E:/Coding/Environments/MinGW32/bin/../lib/gcc-lib/mingw32/3.2/../../../libgcj.a(verify.o):verify.cc:(.text$_ZN20_Jv_BytecodeVerifier21verify_instructions_0Ev[__ZN20_Jv_BytecodeVerifier21verify_instructions_0Ev]+0x9b8e): undefined reference to `_Unwind_Resume'
E:\Coding\Environments\MinGW32\bin\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\ld.exe: E:/Coding/Environments/MinGW32/bin/../lib/gcc-lib/mingw32/3.2/../../../libgcj.a(verify.o):verify.cc:(.text$_ZN20_Jv_BytecodeVerifier5stateC1Eii[__ZN20_Jv_BytecodeVerifier5stateC1Eii]+0x189): more undefined references to `_Unwind_Resume' follow


参考GPT和自己的思路:这个错误是由于缺少 libgcc_eh 库导致的。可以尝试通过在 MinGW 环境变量中添加 -lgcc_eh 参数来解决问题,或者是重新下载 MinGW 并覆盖原来的文件夹再尝试编译。另外,推荐使用更现代的编译器和开发环境,例如 Eclipse 或者 IntelliJ IDEA,它们更加易于使用和配置,且支持更多的编程语言和框架。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^