无法在 32 位 XP 系统上正常使用 TDM64-GCC 9.2.0 编译

2020-07-16 19:23:25 +08:00
 skylee03

当我尝试在我的 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 系统上正确工作?

GitHub issue

2453 次点击
所在节点    C++
21 条回复
yingfengi
2020-07-16 19:25:57 +08:00
我很好奇为何还要使用 xp
xcstream
2020-07-16 19:27:31 +08:00
vc6 嘿嘿
darer
2020-07-16 19:27:32 +08:00
我很好奇为何还要使用 xp
darer
2020-07-16 19:31:53 +08:00
等会… TDM64-GCC 9.2.0 在 32 位 Windows XP 系统上正确工作? 那么大个 64 看不见吗
ysc3839
2020-07-16 20:35:35 +08:00
x86_64-w64-mingw32 这意思是跑在 64 位系统上的 32 位程序编译器吧,你的 Windows XP 是 64 位的?
precisi0nux
2020-07-16 20:37:32 +08:00
楼主是外国人然后机翻的?
skylee03
2020-07-16 20:55:25 +08:00
@darer “然而,当我使用先前版本的 TDM64-GCC (例如,4.9.2 )编译相同的程序时,它在 32 位 Windows XP 系统和 64 位 Windows 10 操作系统上都工作得很好。”
skylee03
2020-07-16 20:55:43 +08:00
@ysc3839 “然而,当我使用先前版本的 TDM64-GCC (例如,4.9.2 )编译相同的程序时,它在 32 位 Windows XP 系统和 64 位 Windows 10 操作系统上都工作得很好。”
skylee03
2020-07-16 20:57:06 +08:00
@precisi0nux 先在 GitHub 上用英文发的 issue,然后翻成中文发在这里,看起来可能比较奇怪😅
skylee03
2020-07-16 21:00:26 +08:00
@yingfengi 我在 GitHub 上维护一个 Dev-C++的 fork,之前由于 TDM-GCC 长时间停更,我把自带的编译器换成了 SF 上 MinGW-w64 的发行版。前几个月 TDM 又诈尸了,所以打算把自带编译器换回 TDM,不过在 XP 上测试的时候出了上述的问题。
skylee03
2020-07-16 21:00:54 +08:00
我在 GitHub 上维护一个 Dev-C++的 fork,之前由于 TDM-GCC 长时间停更,我把自带的编译器换成了 SF 上 MinGW-w64 的发行版。前几个月 TDM 又诈尸了,所以打算把自带编译器换回 TDM,不过在 XP 上测试的时候出了上述的问题。
darer
2020-07-16 21:34:29 +08:00
一个汉化 Codeblocks 的人的说法是 GCC 从某一个版本开始不支持 XP 系统了
leavelet
2020-07-16 21:41:49 +08:00
虽然没有用过,但是感谢楼主考虑周到
我们学校机房还是十年前的电脑,xp 系统
而且是校 OI 的主力机房(尽管大家都自带电脑)
ysc3839
2020-07-16 22:42:23 +08:00
@skylee03 完全有可能先前版本是 32 位的,当前版本改为了 64 位的。
Cooky
2020-07-16 22:57:43 +08:00
在 win10 上编译,在 XP 上测试
ysc3839
2020-07-16 22:59:25 +08:00
刚刚下载了 4.9.2 和 9.2.0,经过确认都是 32 位的可执行文件,说明是别的问题。
flynaj
2020-07-17 10:04:03 +08:00
windows XP 上就用老版本就行,注明就可以,还有现在用 WinXP 的人其实不多,学校在老的电脑也可以装 win7 。
skylee03
2020-07-17 17:59:01 +08:00
@ysc3839 当然,不然 G++根本无法运行,而不会报错。
skylee03
2020-07-17 17:59:59 +08:00
@flynaj 不过 TDM 的主页上说它支持 XP,所以如果不是他骗人,那就是我的问题。
flynaj
2020-07-17 20:34:58 +08:00
@skylee03 #19 只是学习一下 C 语言的话,这个 Tiny C Compiler 就够,1M 不到。https://bellard.org/tcc/

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/690689

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX