无法在 32 位 XP 系统上正常使用 TDM64-GCC 9.2.0 编译 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
skylee03
V2EX    C++

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

  •  
  •   skylee03
    skylee03 2020-07-16 19:23:25 +08:00 2810 次点击
    这是一个创建于 1917 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    第 1 条附言    2020-07-16 21:10:21 +08:00

    补充说明:

    关于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位系统上运行,更不会像我描述的那样报错。

    21 条回复    2020-07-17 20:39:37 +08:00
    yingfengi
        1
    yingfengi  
       2020-07-16 19:25:57 +08:00
    我很好奇为何还要使用 xp
    xcstream
        2
    xcstream  
       2020-07-16 19:27:31 +08:00
    vc6 嘿嘿
    darer
        3
    darer  
       2020-07-16 19:27:32 +08:00
    我很好奇为何还要使用 xp
    darer
        4
    darer  
       2020-07-16 19:31:53 +08:00
    等会… TDM64-GCC 9.2.0 在 32 位 Windows XP 系统上正确工作? 那么大个 64 看不见吗
    ysc3839
        5
    ysc3839  
       2020-07-16 20:35:35 +08:00 via Android
    x86_64-w64-mingw32 这意思是跑在 64 位系统上的 32 位程序编译器吧,你的 Windows XP 是 64 位的?
    precisi0nux
        6
    precisi0nux  
       2020-07-16 20:37:32 +08:00 via iPhone
    楼主是外国人然后机翻的?
    skylee03
        7
    skylee03  
    OP
       2020-07-16 20:55:25 +08:00
    @darer “然而,当我使用先前版本的 TDM64-GCC (例如,4.9.2 )编译相同的程序时,它在 32 位 Windows XP 系统和 64 位 Windows 10 操作系统上都工作得很好。”
    skylee03
        8
    skylee03  
    OP
       2020-07-16 20:55:43 +08:00
    @ysc3839 “然而,当我使用先前版本的 TDM64-GCC (例如,4.9.2 )编译相同的程序时,它在 32 位 Windows XP 系统和 64 位 Windows 10 操作系统上都工作得很好。”
    skylee03
        9
    skylee03  
    OP
       2020-07-16 20:57:06 +08:00
    @precisi0nux 先在 GitHub 上用英文发的 issue,然后翻成中文发在这里,看起来可能比较奇怪
    skylee03
        10
    skylee03  
    OP
       2020-07-16 21:00:26 +08:00
    @yingfengi 我在 GitHub 上维护一个 Dev-C++的 fork,之前由于 TDM-GCC 长时间停更,我把自带的编译器换成了 SF 上 MinGW-w64 的发行版。前几个月 TDM 又诈尸了,所以打算把自带编译器换回 TDM,不过在 XP 上测试的时候出了上述的问题。
    skylee03
        11
    skylee03  
    OP
       2020-07-16 21:00:54 +08:00
    我在 GitHub 上维护一个 Dev-C++的 fork,之前由于 TDM-GCC 长时间停更,我把自带的编译器换成了 SF 上 MinGW-w64 的发行版。前几个月 TDM 又诈尸了,所以打算把自带编译器换回 TDM,不过在 XP 上测试的时候出了上述的问题。
    darer
        12
    darer  
       2020-07-16 21:34:29 +08:00
    一个汉化 Codeblocks 的人的说法是 GCC 从某一个版本开始不支持 XP 系统了
    leavelet
        13
    leavelet  
       2020-07-16 21:41:49 +08:00
    虽然没有用过,但是感谢楼主考虑周到
    我们学校机房还是十年前的电脑,xp 系统
    而且是校 OI 的主力机房(尽管大家都自带电脑)
    ysc3839
        14
    ysc3839  
       2020-07-16 22:42:23 +08:00 via Android
    @skylee03 完全有可能先前版本是 32 位的,当前版本改为了 64 位的。
    Cooky
        15
    Cooky  
       2020-07-16 22:57:43 +08:00
    在 win10 上编译,在 XP 上测试
    ysc3839
        16
    ysc3839  
       2020-07-16 22:59:25 +08:00
    刚刚下载了 4.9.2 和 9.2.0,经过确认都是 32 位的可执行文件,说明是别的问题。
    flynaj
        17
    flynaj  
       2020-07-17 10:04:03 +08:00 via Android
    windows XP 上就用老版本就行,注明就可以,还有现在用 WinXP 的人其实不多,学校在老的电脑也可以装 win7 。
    skylee03
        18
    skylee03  
    OP
       2020-07-17 17:59:01 +08:00
    @ysc3839 当然,不然 G++根本无法运行,而不会报错。
    skylee03
        19
    skylee03  
    OP
       2020-07-17 17:59:59 +08:00
    @flynaj 不过 TDM 的主页上说它支持 XP,所以如果不是他骗人,那就是我的问题。
    flynaj
        20
    flynaj  
       2020-07-17 20:34:58 +08:00
    @skylee03 #19 只是学习一下 C 语言的话,这个 Tiny C Compiler 就够,1M 不到。https://bellard.org/tcc/
    skylee03
        21
    skylee03  
    OP
       2020-07-17 20:39:37 +08:00
    @flynaj 我主要是为了让我的 Dev-C++项目照顾到 XP 用户。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     903 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 20:41 PVG 04:41 LAX 13:41 JFK 16:41
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86