lri*_*eau 42 c++ linker-errors visual-studio
基本的Google搜索bigobj问题表明很多人都遇到致命错误C1128:" 部分数量超出了目标文件格式限制:用/ bigobj编译 ".如果大量使用C++模板库(如Boost库或CGAL库),则错误发生的可能性更大.
这个错误很奇怪,因为它为自己提供了解决方案:设置编译器标志/bigobj!
所以这是我的问题:为什么默认情况下不设置该标志?使用该标志必须有惩罚,否则默认设置.MSDN中没有记录该惩罚.有人有线索吗?
我问这个问题,因为我想知道CGAL的配置系统是否应该/bigobj默认设置.
Fré*_*idi 36
文档确实提到了一个重要的缺点/bigobj:
在Visual C++ 2005之前发布的链接器无法读取使用它生成的.obj文件
/bigobj.
因此,默认情况下设置此选项会限制可以使用生成的对象文件的链接器数量.最好在需要的基础上激活它.
为什么默认情况下没有设置该标志?使用该标志必须受到惩罚,否则它将被默认设置。
/bigobj我的快速非正式实验显示,使用该文件的 .obj 文件比不使用该文件的文件大 2% 左右。所以这是一个很小的惩罚,但它不是零。
有人提交了功能请求以设为/bigobj默认;请参阅https://developercommunity.visualstudio.com/t/Enable-bigobj-by-default/1031214。
| 归档时间: |
|
| 查看次数: |
13266 次 |
| 最近记录: |