c++ - 如何解决-------在mingw上对 `__chkstk_ms'的 undefined reference -------

标签 c++ linker g++ mingw

我刚刚在mingw上安装了gcc和g++。
我编写了一个非常简单的“hello world”程序来测试g++编译器是否起作用。
码:

#include <iostream>
using namespace std;
int main()
{
cout << "hello world" << endl;
return 0;
}

编译:
g++ Test.cpp

然后出现一些错误:
D:/MinGW[Finished in 0.6s with exit code    1]/bin/../lib/gcc/mingw32/3.4.5/../../../../mingw32/lib/crt2.o: In function `_mingw_setargv':
D:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../mingw32/lib/libmingwex.a(glob.o): In function `glob_match':
i:\p\giaw\src\pkg\mingwrt-4.0-1-mingw32-src\bld/../mingwrt-4.0.0-1-mingw32-src/src/libcrt/misc/glob.c:733: undefined reference to `__chkstk_ms'
D:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../mingw32/lib/libmingwex.a(glob.o): In function `glob_strdup':
i:\p\giaw\src\pkg\mingwrt-4.0-1-mingw32-src\bld/../mingwrt-4.0.0-1-mingw32-src/src/libcrt/misc/glob.c:85: undefined reference to `__chkstk_ms'
D:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../mingw32/lib/libmingwex.a(glob.o): In function `glob_match':
i:\p\giaw\src\pkg\mingwrt-4.0-1-mingw32-src\bld/../mingwrt-4.0.0-1-mingw32-src/src/libcrt/misc/glob.c:841: undefined reference to `__chkstk_ms'
D:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../mingw32/lib/libmingwex.a(glob.o): In function `glob_strdup':
i:\p\giaw\src\pkg\mingwrt-4.0-1-mingw32-src\bld/../mingwrt-4.0.0-1-mingw32-src/src/libcrt/misc/glob.c:85: undefined reference to `__chkstk_ms'
D:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../mingw32/lib/libmingwex.a(glob.o):i:\p\giaw\src\pkg\mingwrt-4.0-1-mingw32-src\bld/../mingwrt-4.0.0-1-mingw32-src/src/libcrt/misc/glob.c:85: more undefined references to `__chkstk_ms' follow
collect2: ld returned 1 exit status

最佳答案

关于与旧库的链接,原始问题似乎已解决,但我的情况相反。
我需要使用旧版GCC 3.4,所以我安装了gcc-v3-core软件包。
然后,在链接琐碎的源代码时,orig错误立即出现。
我发现MinGW GCC 3.4不能与mingwrt> 3.20一起使用,问题是gcc-v3-core包含不正确的mingwrt规范,允许使用最新版本。

解决方案很简单:

mingw-get upgrade "mingwrt=3.20.*"

!更新!
实际上,对于mingwrt-3.20,链接器会针对C++代码报告相同的错误:
g++ hello.cpp

AM!

解决方案2:
mingw-get upgrade "mingwrt=3.18.*"

最后一个似乎可以与gcc-v3-g++一起使用的文件。

关于c++ - 如何解决-------在mingw上对 `__chkstk_ms'的 undefined reference -------,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61815261/

相关文章:

c - 链接时允许不同的类型

c++ - 在发布版本中保留调试符号有缺点吗?

c++ - 由于查找 Windows.h 时出现问题,无法设置 openGL superBible 示例

c++ - 难以实现对每行 C++ 上打印的整数数量的限制

c - 如何创建渲染 3D 场景的 4KB Linux 二进制文件?

linker - 动态链接和动态加载有什么区别

c++ - 按值返回时不调用应对构造函数

c++ - 使用 G++ 强制链接到 pthread

c++ - std::list.splice() 导致程序崩溃

c++ - 与临时对象一起使用时了解 C++ std::shared_ptr