gpt4 book ai didi

c++ - 编译一个非常大的 .cpp 文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:27:08 25 4
gpt4 key购买 nike

没有适用于我的案例的真正答案的类似问题:CLICK
我在这里问之前研究过的问题 - CLICK

我正在使用 MinGW64 尝试编译一个非常大的 .cpp 文件(>13k 行),但我也可以访问到 Visual Studio 2010 - 如果有人有使用它的解决方案,请随时告诉我。
我在组装阶段发现了一个错误 -

... too many sections (33396)
C:\Users\username\AppData\Local\Temp\ccnAocvD.s: Assembler messages:
C:\Users\username\AppData\Local\Temp\ccnAocvD.s: Fatal error: can't write
CMakeFiles/source.dir/sourcecode.cpp.obj: File too big

我目前正在使用 -Os--param ggc-min-expand=0--param ggc-min- 运行编译heapsize=4096 正如我的两位同事所建议的那样——编译现在运行了 5 个多小时。

更新:

按照一些人的建议,我将文件拆分为 2 个源文件并为它们创建一个标题 - 谢谢。

第二次更新:

编译还没有完成(5 天 !!!),即使在创建了一个标题并将文件拆分为 4 个较小的文件之后也是如此。

最终

这个问题仍然没有解决——即使听从了所有发布者的建议,我仍然无法编译它。

最佳答案

不确定 GCC,但您是否尝试过在 VisualStudio 中为该特定文件使用 /bigobj 标志?
我对一个大文件有同样的问题,它实际上解决了这个问题。所以值得一试。

来自 MSDN:

By default, an object file can hold up to 65,536 (2^16) addressable sections. This is the case no matter which target platform is specified. /bigobj increases that address capacity to 4,294,967,296 (2^32).

关于此的更多信息 here .

关于c++ - 编译一个非常大的 .cpp 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17550142/

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