使用大型预编译头文件时 cc1plus.exe 崩溃

2024-03-29

我在使用 MinGW 预编译头文件时遇到问题。编译器似乎找到了预编译头文件,但 cc1plus.exe 之后立即崩溃(cc1plus.exe 已停止工作)。

我知道这可能与 cc1plus.exe 的堆栈大小较低有关,因此我执行了以下操作来增加它:

editbin cc1plus.exe /STACK 33554432

我也尝试过但无济于事:

editbin cc1plus.exe /STACK 32768k

然而,这并没有解决它,因为每当我尝试编译我的应用程序时它仍然不断崩溃。

顺便说一下,我正在使用最新的 MinGw (gcc v 4.6.2) 和最新的 Eclipse CDT(如果有的话)。

我是否正确增加了 cc1plus.exe 的堆栈大小? 当我阅读无数文章和主题时,有谁知道如何继续,但目前我有点没有想法。

g++ 似乎找到并接受我的预编译头文件:

Building file: ../src/AdvancedOgreFramework.cpp
Invoking: GCC C++ Compiler
g++ -DHAVE_W32API_H -DNO_GCC_PRAGMA -I"C:\DevelopmentTools\workspaces\workspace_cpp
\MyGame\inc" -I"C:\docs\ogre3d\CEGUI\CEGUI-0.7.6\cegui\include\falagard" -I"C:\docs 
\ogre3d\CEGUI\CEGUI-0.7.6\cegui\include\RendererModules\Ogre" -I"C:\docs\ogre3d\CEGUI
\CEGUI-0.7.6\cegui\include" -I"C:\docs\ogre3d\ogre1.8.0_mingw_sdk\OgreSDK_MinGW_v1-8-0
\include" -O0 -g3 -H -Wall -c -Winvalid-pch -MMD -MP -MF"src/AdvancedOgreFramework.d" 
-MT"src/AdvancedOgreFramework.d" -o "src/AdvancedOgreFramework.o" "../src 
/AdvancedOgreFramework.cpp"
! C:\DevelopmentTools\workspaces\workspace_cpp\MyGame\inc/Precompiled.h.gch

这是我作为预构建 make 运行以生成 .gch 的 makefile:

C_FLAGS = -O0 -g3 -Wall -c -MMD -MP
INC_PATH = -IC:/docs/ogre3d/ogre1.8.0_mingw_sdk/OgreSDK_MinGW_v1-8-0/include -IC:/docs
/ogre3d/CEGUI/CEGUI-0.7.6-mingw/cegui/include -IC:/docs/ogre3d/CEGUI/CEGUI-0.7.6-
mingw/cegui/include/RendererModules/Ogre -IC:/docs/ogre3d/CEGUI/CEGUI-0.7.6-mingw/cegui
/include/falagard


all: Precompiled.h.gch

@echo 'Finished precompiling headers....'

Precompiled.h.gch: Precompiled.h    
    @echo 'Building target: $@'
g++.exe Precompiled.h $(INC_PATH) $(C_FLAGS)     

clean:
rm Precompiled.h.gch

.gch 的大小超过 169 MB,因为我正在尝试预编译大部分 Ogre3D 和 CEGUI 标头。

谢谢你, 亚当。


GCC 有一份关于您的问题的错误报告,请参阅:http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56926 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56926,看起来大的 pch 文件(通常大于 150M)可能会导致此问题。

编辑:2015-05-31。我最近在mingw或mingw-w64工具链的GCC源中发现pch文件的硬限制值是128M。我想建议有人构建一个最新的 GCC,看看它是否可以解决这个崩溃问题。请参阅我在 mingw-w64 论坛中的帖子:[Mingw-w64-public] 设置更大的pch文件大小限制?是:任何人都可以提供 cc1plus.exe 的调试版本吗? https://sourceforge.net/p/mingw-w64/mailman/message/34159267/

编辑:2015-06-02。我可以通过扩大 pch 文件的硬限制值来完全解决这个问题,请参阅我的评论 17 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56926#c17在海湾合作委员会 bugzilla 中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用大型预编译头文件时 cc1plus.exe 崩溃 的相关文章

随机推荐

  • Python Xpath:lxml.etree.XPathEvalError:谓词无效

    我正在尝试学习如何抓取网页 在教程中我使用下面的代码抛出此错误 lxml etree XPathEvalError Invalid predicate 我正在查询的网站是 不要评判我 它是训练视频中使用的网站 https itunes ap
  • Visual Studio 2015 的 Git 问题

    我在使用 TortoiseGit 版本 1 8 16 0 git 版本 2 6 2 windows 1 创建的 git 存储库中有一个 Visual Studio 解决方案 我刚刚将 Visual Studio 从 2015 年更新到 20
  • 将解密的文件读入 ZipInputStream 有时会截断第一个文件

    我正在开发一个电子阅读器应用程序 使用skyepub https skyepub net 基本上将加密的书籍下载到文件系统中 并将解密密钥保存在数据库中 当用户尝试阅读它时 它将书籍加载到内存中并解密 问题是有些书的第一章被截断了 epub
  • 带有预检请求的 CORS 帖子

    我正在尝试使用 CORS 将文件上传到不同域上的服务 但由于来源被拒绝 它们一直失败 据我所知 正在使用正确的标头来允许此操作 JavaScript 请求 var xhr new XMLHttpRequest xhr open POST h
  • 使用 Microsoft Graph API 授予管理员同意 - Java

    我已经使用图形 API 创建了一个应用程序 并为它们分配了权限 委托和应用程序 ServicePrincipal servicePrincipal graphClient servicePrincipals resSerPrinId bui
  • 如何将 Google 地图置于纬度和经度位置的中心?

    考虑以下代码 stores click function console log this data latitude 1754 26265626 console log this data longitude 65 262518 cons
  • C# 4.0 的新酷功能 [已关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 你们正在寻
  • Laravel - 如何在 AppServiceProvider 中获取当前用户

    所以我通常让当前用户使用Auth user 当我确定用户是否实际登录时Auth check 但这似乎不适用于我的AppServiceProvider 我用它来跨所有视图共享数据 我var dump both Auth user and Au
  • 无法在 Mac OS X 10.8 上使用 Homebrew FreeTds 捆绑安装tiny_tds

    我的问题我可以采取哪些万无一失的步骤来 100 使其正常工作 我需要真正的指示 而不是简单的答案或对该过程的模糊概念描述 让我们来一探究竟 似乎某些地方存在冲突 并且我从 GitHub 上的 gem 开发人员那里获得了与我使用 Ruby R
  • 对字符串数组使用快速排序

    我是一名编程学生 我不会发布整个作业 而是请求帮助解决我已经尝试了几个小时才能理解的问题 我的任务是使用快速排序方法对字符串数组进行排序 作为这个问题的一部分 我承担的其他所有任务都很好 但是当我通过打印字符串数组来测试排序方法时 它完全混
  • try,catch和finally的执行顺序是什么[重复]

    这个问题在这里已经有答案了 如果我们在try中给出这样的return语句 执行顺序会是怎样的 try return a catch finally 这里如果try中有return的话执行顺序是怎样的 请告诉我 http docs oracl
  • 功能检测是否需要用户手势

    有没有办法检测是否调用play 是否允许在没有用户手势的情况下在视频元素上进行操作 在 Android Chrome 上会出现此警告 Failed to execute play on HTMLMediaElement API can on
  • 在 Blazor 中获取子组件列表的最佳方法

    我们需要获取子组件列表OnAfterRenderAsync父组件的方法 但是我们不知道该怎么做 我们尝试与RenderBuilder and GetFrames但这始终为空 我们有 Splitter 组件 其中 N 个分割区域作为子组件 我
  • 使用 Plist 字典进行应用程序设置

    我希望能够使用 plist 来进行我在应用程序中实现的设置 我想要一个字典 Settings 来保存我的数组 例如 Debug Option 1 Option 2 等 如何访问 Settings 字典下的 Debug 数组 NSArray
  • 导出存档时出错

    我在 Xcode 中使用导出功能时遇到问题 您的帐户已经有分发证书 所以我使用了解决方案xcodebuild 它生成 IPA 文件 但我在控制台中看到 Checking original app usr bin codesign verif
  • 从静态 JSON 加载内容 Next JS

    我有一个 Next JS 项目 其静态 JSON 放置在 pages api data json 中 如下所示 Card title Title 1 content Content 1 title Title 2 content Conte
  • 我可以与 scipy 的 odeint 集成,直到找到局部最大值吗?

    这是我在这里提出的第一个问题 所以请放轻松 我想知道是否有一种方法可以仅在找到指定变量的局部最大值之前集成 ODE 系统 以下是更多细节 我们称我们的 ODE 系统为dX dt F X where X t x1 t x2 t xn t 假设
  • 实体框架更新实体以及子实体(根据需要添加/更新)

    我之间存在多对多关系Issues and Scopes在我的 EF 上下文中 在 ASP NET MVC 中 我打开一个编辑表单 允许用户编辑特定问题 表单底部是一个复选框列表 允许他们选择适用于此问题的范围 当编辑一个问题时 它可能总是已
  • 选择所有直到第一次出现字符

    如果我有数据 其中 a 之前的字符数 总是不同的我怎么写SELECT语句来获取所有字符直到管道字符 样本数据 asdf adkfdll dd asdkdkdk da d WITH T C AS SELECT asdf adkfdll dd
  • 使用大型预编译头文件时 cc1plus.exe 崩溃

    我在使用 MinGW 预编译头文件时遇到问题 编译器似乎找到了预编译头文件 但 cc1plus exe 之后立即崩溃 cc1plus exe 已停止工作 我知道这可能与 cc1plus exe 的堆栈大小较低有关 因此我执行了以下操作来增加