gpt4 book ai didi

c++ - 应用程序段错误,仅当使用 MinGW 在 Windows 上编译时

转载 作者:可可西里 更新时间:2023-11-01 09:20:22 28 4
gpt4 key购买 nike

我正在尝试编译 one of my games在 Windows 上,但不幸的是,无论如何,我每次运行该程序时都会遇到此段错误。

编译成功,并且没有任何警告。

Program received signal SIGSEGV, Segmentation fault.

__chkstk_ms () at ../../../../../src/gcc-4.8.1/libgcc/config/i386/cygwin.S:172

172 ../../../../../src/gcc-4.8.1/libgcc/config/i386/cygwin.S: No such file or directory.

我试过:

  • 在 Windows x86 机器上编译
  • 在 Windows x64 机器上编译
  • nuwen.net 的 MinGW 发行版
  • TDM MinGW 4.8.1 SJLJ
  • MinGW 构建 x86 SJLJ
  • MinGW 构建 x64 SJLJ
  • MinGW 构建 x86 DW2

我已经多次从源代码构建所有依赖项,尝试静态和动态链接。

调试也无济于事 - GDB 在输入 main() 时就给我错误消息。我使用了 -g3-O0 标志。

我怎样才能弄清楚发生了什么?

最佳答案

在 Windows 上,默认堆栈大小小于 Linux。 __chkstk_ms 似乎是一个函数,如果您溢出堆栈,它就会崩溃。

您可能会尝试找出在代码中的哪个位置创建了巨大的堆栈变量或进行了非常深的递归,然后修复它。

或者,您可以添加编译标志以增加堆栈大小。参见 http://trac.sagemath.org/ticket/13960 .

关于c++ - 应用程序段错误,仅当使用 MinGW 在 Windows 上编译时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23392755/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com