99网
您的当前位置:首页qtmingw编译vtk,Filetoobigtoomanysections

qtmingw编译vtk,Filetoobigtoomanysections

来源:99网
qtmingw编译vtk,Filetoobigtoomanysections

使⽤qt5.10编译vtk,cmake选择release版本时,编译正常通过。但程序链接时,debug版本⽆法运⾏,报错:Must construct a QApplicationbefore a QWidget。所以只能编译debug版的vtk,结果出现File too big/too many sections错误:

出现此错误的原因是obj⽂件太⼤了,通过查找资料,发现obj⽂件过⼤时,需要配置选项: -Wa,-mbig-obj

但通过命令⾏直接修改gcc参数的⽅式进⾏了实验,⽆效。发现在链接:

中说到,You've probably hit a hard memory limit such that the object image isgreater than 2GB. There is no work around for a hard limit other thanto reduce the size of the object is some fashion.

所以应该⽆法通过配置实现debug版本编译了,于是考虑缩⼩obj⽂件的⼤⼩,打算将⼀个obj分为两个,分别编译。将出错的⽂件:VTK-8.2.0\\Common\\Core\\vtkDataArray.cxx分为两个⽂件,将ComputeFiniteScalarRange、ComputeFiniteVectorRange两个函数(及其使⽤的struct定义复制⼀遍)移动到vtkDataArray1.cxx⽂件中,并修改cmakelist,添加了vtkDataArray1.cxx,再进⾏编译,就解决了此问题。

因篇幅问题不能全部显示,请点此查看更多更全内容