error C1128: 节数超过对象文件格式限制: 请使用 /bigobj 进行编译

VS2015出现如上错误。

 

默认情况下,对象文件最多可存放 65,536 (2^16) 个可寻址的节。 这种情况不管指定哪个目标平台。 /bigobj 可将该地址容量增加至 4,294,967,296 (2^32)。

大多数模块将从来不会生成包含节数超过 65,536 的 .obj 文件。 但是,计算机生成的代码或大量使用模板库的代码可能需要可存放更多节的 .obj 文件。 因为计算机给定的 XAML 代码包含大量头文件,在 Windows 应用商店项目中/bigobj 默认已开启。 在 Windows 应用商店应用项目中如果禁用此选项,可能会遇到编译器错误 C1128。

Visual C++ 2005 之前的版本中所提供的链接器不能读取使用 /bigobj 生成的 .obj 文件。

 

在 Visual Studio 开发环境中设置此编译器选项

打开项目的“属性页”对话框。 有关详细信息,请参见如何:打开项目属性页

单击“C/C++”文件夹。

单击“命令行”属性页。

在“附加选项”框中键入编译器选项。

 

对于CLion,直接在CMakeList文件中加上 

add_compile_options(-bigobj)

 

参考:MSDN

posted @ 2017-03-30 19:24  VVingerfly  阅读(7786)  评论(0编辑  收藏  举报