在Qt中编译巨大的头文件时"too many sections"错误
mingw "too many sections" bug while compiling huge header file in Qt
我试图在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
相关文章:
- 如何在 C 中正确使用 libiconv 使其不会报告"Arg list too long"?
- "throw expression code" 1e7 >返回 d 是什么?投掷标准::overflow_error( "too big" ) : d;意味 着?
- 如何修复"too few arguments to function"?
- fopen 在创建大量文件后因 EFBIG "File too large" 而失败
- VC++ wcscpy_s随机断言"Buffer is too small"
- 从 std::ostream 重载 << 运算符时,为什么编译器会给出"too many parameters for this operator function"错误?
- 谷歌模拟 - 怎么说"function must be called ONCE with a certain parameter but ok to be called many times with
- VS说"Too few arguments...",但其他编译器给了我正确的输出?
- 连接到MySQL时如何修复xdev C++ api中的'string too long'错误
- 一次启用 MANY 类的成员字段,具体取决于模板<T>
- c++ (XORString): "recursive type or function dependency context too complex"
- 尝试在 eclipse CDT 中提取函数时"Too many declarations in selection"错误消息
- 如何在QxORM中定义具有多个主键的表,其中一个主键是与另一个表的"many to one"关系
- 对SDL_*many*的未定义引用
- 将嵌套结构变量从 C++ 传递到C++ dll 会导致 (L "Buffer is too small" && 0)
- 在装有 GCC 4.8 的 Mac 上"error: too many #pragma options align=reset"
- "Too Many Files" Nexus 5/6棒棒糖上的错误
- Linux 系统不允许创建套接字,因为"Too many open files"*即使在重新启动后*
- 在Qt中编译巨大的头文件时"too many sections"错误
- 使用 std::累积,得到一个"too many arguments"错误