mingw编译vtk报错
时间: 2023-12-03 14:05:00 浏览: 142
根据引用内容来看,mingw编译vtk报错时可能会出现文件过大或者太多节的错误。可以尝试在CMakeLists.txt中进行修改,添加如下代码来解决该问题:
if(MSVC)
set_source_files_properties(vtkDataArray.cxx PROPERTIES COMPILE_FLAGS /bigobj)
endif()
set_source_files_properties(vtkDataArray1.cxx vtkDataArray2.cxx PROPERTIES COMPILE_FLAGS -Wa,-mbig-obj)
另外,还有可能出现vtkGenericDataArray和vtkDataArray这两个cxx文件编译时报错的情况。
如果您使用的是VTK8.1.0和Qt 5.9.1进行编译,可以尝试将VTKLib的bin文件夹添加到环境变量中,有时会解决显示程序异常结束的问题。
相关问题
mingw编译vtk
要使用MinGW编译VTK,请按照以下步骤进行操作:
1. 首先,确保您已经安装了MinGW和CMake,并且将它们都添加到环境变量中。
2. 下载VTK的源代码,并将其解压到一个文件夹中。
3. 创建一个新的文件夹来存放CMake生成的编译文件,并进入该文件夹。
4. 打开终端,并导航到该文件夹。
5. 运行以下命令来配置VTK的编译过程:
cmake <VTK源代码的路径>
这将生成与您的MinGW环境兼容的编译文件。
6. 确保在CMake配置期间设置了正确的Qt和MinGW路径。
7. 如果需要,您可以根据自己的需求修改其他配置选项。
8. 运行以下命令来开始编译:
mingw32-make.exe -j <核心数>
请注意,你需要将<核心数>替换为你计算机的核心数,以提高编译速度。
9. 等待编译过程完成。一旦完成,您将在生成的文件夹中找到编译好的VTK库。
10. 将这些库文件集成到您的项目中,并确保正确链接它们。
11. 如果您在使用VTK时遇到异常结束的问题,请将VTKLib的bin文件夹路径添加到环境变量中,以解决该问题。
qt mingw编译vtk,File too big/too many sections
这个问题通常是因为编译器默认的obj文件格式与VTK中的文件格式不兼容导致的。解决方法是使用另一种obj文件格式,如COFF或ELF。
在使用Mingw编译时,可以在命令行中添加以下选项来指定使用COFF格式:
```
-mwindows -Wl,--enable-auto-import -Wl,--subsystem,windows -Wl,--output-def,libvtkCommonCore.def -Wl,--out-implib,libvtkCommonCore.a -Wl,--export-all-symbols -Wl,--enable-runtime-pseudo-reloc -Wl,--enable-auto-image-base -fdata-sections -ffunction-sections -Wl,--gc-sections -Wl,--warn-common
```
如果还是不行,可以尝试使用64位的Mingw编译器或者使用其他编译器(如Visual Studio)进行编译。
阅读全文