在Qt中编译巨大的头文件时"too many sections"错误

mingw "too many sections" bug while compiling huge header file in Qt

本文关键字:too many 错误 sections 文件 Qt 编译 巨大      更新时间:2023-10-16

我试图在Qt (win7)上用mingw32(491_32)编译exprtk.hpp文件(https://exprtk.codeplex.com/)。在编译过程中,我给出以下错误信息:

debugmain.o:-1: error: too many sections (35325)

我已经注意到exprtk.hpp文件是巨大的(>32000行)。我一直在尝试优化编译器上的标志,但它没有帮助。如果有人帮助我,我会很感激的……问候,

您可以通过添加编译标志-flto -Wl,-allow-multiple-definition-fuse-linker-plugin

-Wa,-mbig-obj不能在x86/32bits架构上工作(只有x64)

如此庞大的头代码已经是糟糕的设计,我宁愿推荐使用其他库,如muParser

你的问题已经在其他线程中讨论过了,像这样。

正如你已经注意到的,传递/bigobj给微软的编译器使其输出最多2^31节的修改后的COFF格式,这对任何人来说都应该足够了。

我已经在MinGW-w64上测试了这个新选项,它可以工作。你需要将-Wa,-mbig-obj传递给gcc以选择加入大对象(-Wa表示通过)此选项为汇编程序)。——Francis gagneng

相关文章: