当我尝试在我的 64 位 Windows 10 计算机上使用 TDM64-GCC 9.2.0 编译一个仅包含单行代码int main() {}
的 C++程序时,它工作得很好。但是在一个 32 位 Windows XP 系统上,它产生了如下错误信息:
C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/32/libstdc++.a: file not recognized: file format not recognized collect2.exe: error: ld returned 1 exit status
然而,当我使用先前版本的 TDM64-GCC (例如,4.9.2 )编译相同的程序时,它在 32 位 Windows XP 系统和 64 位 Windows 10 操作系统上都工作得很好。
我应当做什么来使得 TDM64-GCC 9.2.0 编译器在 32 位 Windows XP 系统上正确工作?
补充说明:
关于XP系统:我自己并不用XP系统,但是我目前正在 GitHub 上维护一个 Dev-C++ 的个人版本 My-Dev-Cpp,需要照顾到仍在使用XP系统的用户。之前由于 TDM-GCC 长时间停更,我把自带的编译器换成了 SF 上 MinGW-w64 的发行版。前几个月 TDM 又诈尸了,所以打算把自带编译器换回 TDM,不过在 XP 上测试的时候出了上述的问题。
关于“TDM64-GCC”当中的“64”:TDM64-GCC编译器本体还是32位的,只是能同时输出64位和32位可执行程序。否则如果如部分回复所理解的那样,编译器是64位的,那它根本就无法在32位系统上运行,更不会像我描述的那样报错。
1 yingfengi 2020-07-16 19:25:57 +08:00 我很好奇为何还要使用 xp |
![]() | 2 xcstream 2020-07-16 19:27:31 +08:00 vc6 嘿嘿 |
3 darer 2020-07-16 19:27:32 +08:00 我很好奇为何还要使用 xp |
4 darer 2020-07-16 19:31:53 +08:00 等会… TDM64-GCC 9.2.0 在 32 位 Windows XP 系统上正确工作? 那么大个 64 看不见吗 |
![]() | 5 ysc3839 2020-07-16 20:35:35 +08:00 via Android x86_64-w64-mingw32 这意思是跑在 64 位系统上的 32 位程序编译器吧,你的 Windows XP 是 64 位的? |
![]() | 6 precisi0nux 2020-07-16 20:37:32 +08:00 via iPhone 楼主是外国人然后机翻的? |
7 skylee03 OP @darer “然而,当我使用先前版本的 TDM64-GCC (例如,4.9.2 )编译相同的程序时,它在 32 位 Windows XP 系统和 64 位 Windows 10 操作系统上都工作得很好。” |
8 skylee03 OP @ysc3839 “然而,当我使用先前版本的 TDM64-GCC (例如,4.9.2 )编译相同的程序时,它在 32 位 Windows XP 系统和 64 位 Windows 10 操作系统上都工作得很好。” |
9 skylee03 OP @precisi0nux 先在 GitHub 上用英文发的 issue,然后翻成中文发在这里,看起来可能比较奇怪 |
10 skylee03 OP @yingfengi 我在 GitHub 上维护一个 Dev-C++的 fork,之前由于 TDM-GCC 长时间停更,我把自带的编译器换成了 SF 上 MinGW-w64 的发行版。前几个月 TDM 又诈尸了,所以打算把自带编译器换回 TDM,不过在 XP 上测试的时候出了上述的问题。 |
11 skylee03 OP 我在 GitHub 上维护一个 Dev-C++的 fork,之前由于 TDM-GCC 长时间停更,我把自带的编译器换成了 SF 上 MinGW-w64 的发行版。前几个月 TDM 又诈尸了,所以打算把自带编译器换回 TDM,不过在 XP 上测试的时候出了上述的问题。 |
12 darer 2020-07-16 21:34:29 +08:00 一个汉化 Codeblocks 的人的说法是 GCC 从某一个版本开始不支持 XP 系统了 |
![]() | 13 leavelet 2020-07-16 21:41:49 +08:00 虽然没有用过,但是感谢楼主考虑周到 我们学校机房还是十年前的电脑,xp 系统 而且是校 OI 的主力机房(尽管大家都自带电脑) |
![]() | 15 Cooky 2020-07-16 22:57:43 +08:00 在 win10 上编译,在 XP 上测试 |
![]() | 16 ysc3839 2020-07-16 22:59:25 +08:00 刚刚下载了 4.9.2 和 9.2.0,经过确认都是 32 位的可执行文件,说明是别的问题。 |
![]() | 17 flynaj 2020-07-17 10:04:03 +08:00 via Android windows XP 上就用老版本就行,注明就可以,还有现在用 WinXP 的人其实不多,学校在老的电脑也可以装 win7 。 |
![]() | 20 flynaj 2020-07-17 20:34:58 +08:00 @skylee03 #19 只是学习一下 C 语言的话,这个 Tiny C Compiler 就够,1M 不到。https://bellard.org/tcc/ |