2013-11-22 85 views
4

我刚刚在windows中安装了mingw,并且我编写了一个helloWorld程序来测试它。代码:mingw构建错误:未定义引用`__chkstk_ms'

#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'中。这会影响吗?

+0

尝试删除C:\ MinGW的文件夹重新运行安装管理器 – P0W

+0

你怎么编译它? – greatwolf

+0

我试图在崇高的text3中构建它。但是,我也使用CMD行:“gcc -o filename.exe filename.c”,仍然有相同的错误。 – FrankSu

回答

2

嗯,我详细检查了我的系统varialble,发现C:/ MinGW32-xy/bin在C:/ MinGW/bin之前。所以当我在命令行中键入gcc -v时,它显示MinGW32-xy正在工作。我改变了他们的命令,问题解决了。 但是,我真的不知道MinGW和MinGW32-xy的区别。任何伙伴都可以给我一个提示吗?

+0

你以前安装过另一个版本的mingw吗?它可能包含在您下载的IDE中?最好不要在你的机器上混合安装多个mingw,除非你有一些特殊的要求,并且知道如何处理它。 – greatwolf

+0

这是我的问题。正如我所说的,我之前安装了pythonxy,并且为我安装了一个MinGW和一个MinGW32-xy,这导致了这个问题。我安装了pythonxy,因为这帮助我解决了版本冲突问题。 – FrankSu

0

我用MinGW的4.7.1

我做了E文件名main.cpp中:\便携式应用

我的GCC是在C:\ Program Files文件\代码块\ 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"