V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
skylee03
V2EX  ›  C++

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

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

    当我尝试在我的 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   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   982 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 20:51 · PVG 04:51 · LAX 12:51 · JFK 15:51
    ♥ Do have faith in what you're doing.