使用mingw编译VTK 和 在qt中使用vtk,mingw32-make输入到文件

win7下使用mingw编译VTK


1.安装Qt和CMake工具

2.添加mingw所在的exe文件路径(D:\Qt\Qt5.6.0\Tools\mingw492_32\bin)
到系统环境变量PATH

3.解压VTK-7.1.1.zip到F:\VTK-7.1\VTK-src下

4.新建F:\VTK-7.1\VTK-bin

//5、6步骤不加也可以
5.修改VTK-src下CMakeLists.txt文件中set(VTK_USE_WIN32_THREADS 1)为set(VTK_USE_PTHREADS 1)
6.在VTK-src/ThirdParty/libxml2/vtklibxml2/threads.c中#include “libxml.h”后添加:
#undef HAVE_WIN32_THREADS

7.启动CMake,指定source code路径为VTK-src路径,build the binaries路径为VTK-bin路径

8.点击Configure,编译器默认为use default nativecompilers,选择mingw makefiles,点击finish

9.选中grouped和advanced复选框

10.改变CMake->CMAKE_BUILD_TYPE为release

11.改变CMAKE->CMAKE_INSTALL_PREFIX为F:\VTK-7.1\releaselib(生成最后头文件和库的路径)

12.改变Module中Module_vtkGUISupportQt、Module_vtkGUISupportQtOpenGL、
Module_vtkGUISupportQtSQL、Module_vtkGUISupportQtWebkit、
Module_vtkRenderingQt、Module_vtkViewsQt的状态为选中

13.改变VTK中VTK_Group_Qt的状态为选中

//14、15不添加也可以
14.点击Add Entry,添加name为QT_QMAKE_EXECUTABLE,type为PATH,
value为D:\Qt\Qt5.6.0\5.6\mingw49_32\bin\qmake.exe
15.点击Add Entry,添加name为CMAKE_PREFIX_PATH,type为PATH,
value为D:\Qt\Qt5.6.0\5.6\mingw49_32

16.点击Configure,如果出错,点击Ungrouped Entries->QT_VTK_VERSION,改变value为5,再次点击Configure

17.等再无红颜色提示,点击Generate。

18.通过cmd到F:\VTK-7.1\VTK-bin下,使用mingw32-make
打印到文件

mingw32-make 1>mylog1.txt 2>mylog2.txt
mingw32-make >>result.txt 2>&1

19.成功后使用mingw32-make install可生成使用的头文件和库

在qt designer中使用QVTKWidget
拷贝F:\VTK-7.1\mingw\plugins\designer文件夹中的.dll到
D:\Qt\Qt5.6.0\5.6\mingw49_32\plugins\designer
D:\Qt\Qt5.6.0\Tools\QtCreator\bin\plugins\designer


在qt中引入


在.pro中加入
INCLUDEPATH += F:\VTK-7.1\releaselib5.3\include\vtk-7.1

LIBS += -LF:\\VTK-7.1\\releaselib5.3\\lib \
        libvtkCommonCore-7.1 \
        libvtkIOImage-7.1 \
        libvtkRenderingCore-7.1 \
        libvtkRenderingOpenGL2-7.1 \
        libvtkRenderingFreeType-7.1 \
        libvtkFiltersSources-7.1 \
        libvtkFiltersCore-7.1 \
        libvtkFiltersModeling-7.1 \
        libvtkFiltersExtraction-7.1 \
        libvtkFiltersGeometry-7.1 \
        libvtkFiltersHybrid-7.1 \
        libvtkDICOMParser-7.1 \
        libvtkImagingCore-7.1 \
        libvtkImagingColor-7.1 \
        libvtkImagingHybrid-7.1 \
        libvtkImagingGeneral-7.1 \
        libvtkImagingFourier-7.1 \
        libvtkImagingMath-7.1 \
        libvtkImagingMorphological-7.1 \
        libvtkRenderingVolume-7.1 \
        libvtkRenderingVolumeOpenGL2-7.1 \
        libvtkRenderingContext2D-7.1 \
        libvtkRenderingContextOpenGL2-7.1 \
        libvtkRenderingQt-7.1 \
        libvtkRenderingAnnotation-7.1 \
        libvtkRenderingLOD-7.1 \
        libvtkFiltersGeneral-7.1 \
        libvtkChartsCore-7.1 \
        libvtkCommonComputationalGeometry-7.1 \
        libvtkCommonMath-7.1 \
        libvtkCommonTransforms-7.1 \
        libvtkCommonMisc-7.1 \
        libvtkCommonSystem-7.1 \
        libvtkCommonDataModel-7.1 \
        libvtkCommonExecutionModel-7.1 \
        libvtkCommonColor-7.1 \
        libvtkCommonTransforms-7.1 \
        libvtkInteractionImage-7.1 \
        libvtkInteractionStyle-7.1 \
        libvtkInteractionWidgets-7.1 \
        libvtkImagingSources-7.1 \
        libvtkIOXML-7.1 \
        libvtkIOLegacy-7.1 \
        libvtkIOGeometry-7.1 \
        libvtkGUISupportQt-7.1 \
        libvtkGeovisCore-7.1 \
        libvtkViewsContext2D-7.1 \
        libvtksys-7.1 \
在.cpp中加入
#ifndef INITIAL_OPENGL
#define INITIAL_OPENGL
#include "vtkAutoInit.h"
VTK_MODULE_INIT(vtkRenderingOpenGL2)
VTK_MODULE_INIT(vtkRenderingVolumeOpenGL2)
VTK_MODULE_INIT(vtkRenderingFreeType)
VTK_MODULE_INIT(vtkRenderingContextOpenGL2)
#endif

qt下载url

http://download.qt.io/archive/qt/

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力减肥的小胖子5

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值