Mingw构建错误:对“__chkstk_ms”的引用未定义。

4

我刚在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

这里有一个类似的问题在这里。但我检查了MinGW安装管理器,似乎没有安装旧版本的gcc或g++。有人能帮忙吗?谢谢!

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


尝试删除 C:\Mingw 文件夹,然后重新运行安装管理器。 - P0W
你是如何编译它的? - greatwolf
我正在尝试在Sublime Text3中构建它。然而,我也使用了cmd命令行:"gcc -o filename.exe filename.c",但仍然收到相同的错误提示。 - FrankSu
2个回答

2

好的,我仔细检查了我的系统变量,并发现 C:/MinGW32-xy/bin 在 C:/MinGW/bin 之前。所以当我在命令行中输入 gcc -v 时,它显示 MinGW32-xy 正在工作。我交换了它们的顺序,问题得到解决。 然而,我不太清楚 MinGW 和 MinGW32-xy 之间的区别。有没有人能给我一些提示?


你之前是否安装过其他版本的mingw?它可能是随着你下载的IDE一起包含的吗?最好不要在计算机上混合多个mingw安装,除非你有特殊要求并且确切知道如何处理它。 - greatwolf
那是我的问题。就像我说的,我之前安装了pythonxy,它为我安装了MinGW和MinGW32-xy,这导致了问题。我安装pythonxy是因为它帮助我解决了版本冲突的问题。 - FrankSu

0

我使用的是mingw 4.7.1

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

我的gcc位于C:\Program Files\CodeBlocks\MinGW\bin中

我在命令行(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"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接