当我尝试在我的 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/
|