【发布时间】:2013-07-09 13:56:49
【问题描述】:
没有真正答案的类似问题适用于我的案例: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 个较小的文件之后也是如此。
决赛
这个问题仍然没有解决 - 即使在听从每个发布者的建议之后,我仍然无法编译这个。
【问题讨论】:
-
“分离那些相互调用的方法”有什么问题,这是正常的 C/C++ 文件结构
-
好吧,我有一个名为
foo的方法,它在内部调用方法bar- 如果我将foo放入file1.cpp并将 bar 放入file2.cpp我会收到编译错误。跨度> -
对我来说,13K 行似乎并不大。你确定这不是你的文件做一些奇怪的事情 - 例如永远递归地包含同一个文件,或者类似的东西?
-
@startfish re foo and bar 你需要一个头文件来声明缺少的函数
-
对原始文件进行“二分搜索”:分成两半并分别编译。除非有几个问题,否则一半应该编译得相当快,而另一半应该会卡住。以同样的方式继续 - 分成两半等 - 直到找到有问题的代码。
标签: c++ compilation compiler-optimization mingw-w64