【问题标题】:mingw building error: undefined reference to `__chkstk_ms'mingw 构建错误:未定义对 `__chkstk_ms' 的引用
【发布时间】:2013-11-22 02:32:16
【问题描述】:

我刚刚在windows中安装了mingw,我写了一个helloWorld程序来测试它。代码:

#include <stdio.h>

int main(){
    printf("hello, world!\n");
    return 0;
}

结果:

C:/MinGW/lib/crt2.o:crt1.c:(.text+0x1f1): undefined reference to `__chkstk_ms'
C:/MinGW/lib/libmingwex.a(glob.o):glob.c:(.text+0x5e3): undefined reference to `__chkstk_ms'
C:/MinGW/lib/libmingwex.a(glob.o):glob.c:(.text+0x690): undefined reference to `__chkstk_ms'
C:/MinGW/lib/libmingwex.a(glob.o):glob.c:(.text+0x7e9): undefined reference to `__chkstk_ms'
C:/MinGW/lib/libmingwex.a(glob.o):glob.c:(.text+0x82d): undefined reference to `__chkstk_ms'
C:/MinGW/lib/libmingwex.a(glob.o):glob.c:(.text+0xc0d): more undefined references to `__chkstk_ms' follow

here 也有类似的问题。但是我检查了 MinGW 安装管理器,似乎我没有安装旧版本的 gcc 或 g++。有小伙伴可以帮忙吗?谢谢!

顺便说一句,由于我使用pythonxy作为我的python环境,所以我的C:下还有一个C:/MinGW32-xy目录,它不包含在系统变量'path'中。那会影响吗?

【问题讨论】:

标签: c++ windows gcc mingw


【解决方案1】:

好吧,我详细检查了我的系统变量,发现 C:/MinGW32-xy/bin 在 C:/MinGW/bin 之前。所以当我在命令行中输入 gcc -v 时,它显示 MinGW32-xy 正在工作。我换了他们的顺序,问题就解决了。 但是,我真的不知道 MinGW 和 MinGW32-xy 之间的区别。有小伙伴可以指点一下吗?

【讨论】:

  • 您之前是否安装过另一个版本的 mingw?它可能包含在您下载的 IDE 中?最好不要在您的机器上混合安装多个 mingw,除非您有一些特殊要求并且确切地知道如何处理它。
  • 这是我的问题。正如我所说,我之前安装了 pythonxy,它为我安装了一个 MinGW 和一个 MinGW32-xy,这导致了问题。我安装了 pythonxy,因为它帮助我解决了版本冲突问题。
【解决方案2】:

我使用 mingw 4.7.1

我在 E:\Portable Apps 中创建了一个文件名 main.cpp

我的 gcc 在 C:\Program Files\CodeBlocks\MinGW\bin

我在 cmd (cmd = 命令行) 中输入它,它对我来说很好:

e:
cd\Portable Apps
"C:\Program Files\CodeBlocks\MinGW\bin\gcc" -c "main.cpp"
"C:\Program Files\CodeBlocks\MinGW\bin\gcc" "main.o" -o "hello 1.exe" -L"main.cpp"

【讨论】:

    猜你喜欢
    • 2022-01-02
    • 2011-02-06
    • 2015-01-30
    • 1970-01-01
    • 2017-06-05
    • 2011-03-17
    • 1970-01-01
    • 1970-01-01
    • 2012-12-31
    相关资源
    最近更新 更多