VTK 6.3.0 Qt 5.4 MinGW 4.9.1 Configuration 配置

简介:

Download VTK 6.3.0

Download Qt 5.4 with MinGW 4.9.1

Download CMake 3.2.0

I assume you've already installed Qt 5.4 with MinGW 4.9.1 and CMake 3.2.0 correctly.

Pre-process the VTK:

Open CMakeLists.txt in your extracted VTK-6.3.0 folder, find set(VTK_USE_WIN32_THREADS 1), change it to: set(VTK_USE_PTHREADS 1)

mark_as_advanced(VTK_THREAD_MODEL)
if(CMAKE_USE_WIN32_THREADS_INIT)
  set(VTK_USE_PTHREADS 1)
  set(CMAKE_THREAD_LIBS_INIT "")
elseif(CMAKE_USE_PTHREADS_INIT)
  set(VTK_USE_PTHREADS 1)
  if(CMAKE_HP_PTHREADS_INIT)
    set(VTK_HP_PTHREADS 1)
  endif()
elseif(CMAKE_USE_SPROC_INIT)
  set(VTK_USE_SPROC 1)
endif()
set(CMAKE_THREAD_LIBS "${CMAKE_THREAD_LIBS_INIT}" CACHE STRING "Thread library used.")

Open C:\VTK6.3.0\VTK-6.3.0\ThirdParty\libxml2\vtklibxml2\threads.c , add #undef HAVE_WIN32_THREADS after #include "libxml.h"

#define IN_LIBXML
#include "libxml.h"
#undef HAVE_WIN32_THREADS
#include <string.h>

Compile the VTK:

Start CMake 3.2.0, fill the source and destination:

source: C:/VTK6.3.0/VTK-6.3.0

destination: C:/VTK6.3.0/build

Click Configure and use MinGW Makefiles to complie.

When first configure is done, select Grouped and Advanced.

Go to CMAKE->CMAKE_INSTALL_PREFIX, change the value to C:/VTK6.3.0/MinGW

Go to Module, select Module_vtkGUISupportQtModule_vtkGUISupportQtOpenGLModule_vtkGUISupportQtSQLModule_vtkGUISupportQtWebkitModule_vtkRenderingQtModule_vtkViewsQt

Go to VTK, select VTK_Group_Qt

Go CMake->CMAKE_BUILD_TYPEchange value to Release

Click Add Entry, add QT_QMAKE_EXECUTABLE as Name, PATH as Type, C:/Qt/5.4/mingw491_32/bin/qmake.exe as value:

 

Click Add Entry, add CMAKE_PREFIX_PATH as Name, PATH as Type, C:/Qt/5.4/mingw491_32 as value:

 

Click Configure again, and you gonna get an error said: "Error in configuration processs, project files may be invalid."

Go to Ungrouped Entries->QT_VTK_VERSION, change value to 5, then click Configure again.

After configure is done, click Generate.

Go back to your build folder, open command line, type: mingw32-make

Wait a long time for make process, have a cup of coffee :)

After make is done, type mingw32-make install

Now, the configuration is done, enjoy it :)

Use the VTK:

Create new Qt Widgets, change .pro file to:

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = ImageViewer
TEMPLATE = app

SOURCES += main.cpp\
        mainwindow.cpp

HEADERS  += mainwindow.h

FORMS    += mainwindow.ui

INCLUDEPATH += C:\VTK6.3.0\MinGW\include\vtk-6.3

LIBS += -LC:\\VTK6.3.0\\MinGW\\bin \
        libvtkGUISupportQt-6.3 \
        libvtkIOImage-6.3 \
        libvtkInteractionImage-6.3 \
        libvtkRenderingCore-6.3 \
        libvtkCommonExecutionModel-6.3 \
        libvtkCommonCore-6.3 \
        libvtkRenderingOpenGL-6.3 \
        libvtkInteractionStyle-6.3 \

and the main.cpp :

#include "mainwindow.h"
#include <QApplication>
#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL)
VTK_MODULE_INIT(vtkInteractionStyle)
#include "vtkImageViewer.h"
#include "vtkRenderWindowInteractor.h"
#include "vtkRenderer.h"
#include "vtkPNGReader.h"
#include "QVTKWidget.h"
#include "vtkImageData.h"
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QVTKWidget widget;

    char filename[] = "img.png";
    vtkPNGReader* reader = vtkPNGReader::New();
    reader->SetFileName(filename);
    reader->Update();

    vtkImageViewer* imageView = vtkImageViewer::New();
    imageView->SetInputConnection(reader->GetOutputPort());

    widget.SetRenderWindow(imageView->GetRenderWindow());
    imageView->SetupInteractor(widget.GetRenderWindow()->GetInteractor());
    imageView->SetColorLevel(138.5);
    imageView->SetColorWindow(233);

    int *dims = reader->GetOutput()->GetDimensions();
    widget.resize(dims[0], dims[1]);
    widget.show();

    app.exec();

    imageView->Delete();
    reader->Delete();
    return 0;
}

Use the QVTKWidget in Qt Designer:

Copy libQVTKWidgetPlugin.dll from C:\VTK6.3.0\MinGW\plugins\designer to:

C:\Qt\5.4\mingw491_32\plugins\designer

C:\Qt\Tools\QtCreator\bin\plugins\designer

If you use independent Qt Designer, you will find QVTK after Display Widgets.

If you want to use QVTKWidget inside QtCreator, it might not show in the left list, but you can promote a QWidget to QVTKWidget with including the QVTKWidget.h

Here is How to configure ITK:

ITK 4.8.1 Qt 5.4 MinGW 4.9.1 Configuration 配置

Reference:

http://zhangxc.com/2015/02/qt5-mingw-cmake-vtk6

本文转自博客园Grandyang的博客,原文链接:Configuration 配置VTK 6.3.0 Qt 5.4 MinGW 4.9.1 ,如需转载请自行联系原博主。

相关文章
|
8月前
|
编译器 C语言 Windows
cryptopp使用Qt mingw编译,以及海思平台交叉编译
cryptopp使用Qt mingw编译,以及海思平台交叉编译
210 0
|
4月前
|
C语言 Android开发 C++
基于MTuner软件进行qt的mingw编译程序的内存泄漏检测
本文介绍了使用MTuner软件进行Qt MinGW编译程序的内存泄漏检测的方法,提供了MTuner的下载链接和测试代码示例,并通过将Debug程序拖入MTuner来定位内存泄漏问题。
基于MTuner软件进行qt的mingw编译程序的内存泄漏检测
|
5月前
|
C++
【qt】VS中如何配置Qt环境
【qt】VS中如何配置Qt环境
255 0
|
7月前
|
安全 BI 数据库
数据库大作业——基于qt开发的图书管理系统 (一)环境的配置与项目需求的分析
数据库大作业——基于qt开发的图书管理系统 (一)环境的配置与项目需求的分析
128 0
|
8月前
|
C语言 计算机视觉 Python
【Qt】Qt下配置OpenCV
【Qt】Qt下配置OpenCV
109 3
|
8月前
|
C++
[项目配置] 配置Qt函数库和ui界面库的封装并调用的项目(二)
[项目配置] 配置Qt函数库和ui界面库的封装并调用的项目
129 0
|
8月前
|
算法 关系型数据库 编译器
[项目配置] 配置Qt函数库和ui界面库的封装并调用的项目(一)
[项目配置] 配置Qt函数库和ui界面库的封装并调用的项目
239 0
|
8月前
|
C++ 计算机视觉
[软件配置] VS2012&QT5&Opencv的配置教程
[软件配置] VS2012&QT5&Opencv的配置教程
188 0
|
IDE 开发工具 开发者
Qt-Qt Creator的下载、安装与配置(Windows)
Qt-Qt Creator的下载、安装与配置(Windows)
1196 1
|
JavaScript 开发工具 C++
Qt 配置GitHub Copilot
欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。 在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。 在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。C++ 是一种强大的编程语言,能够提供卓越的性能和可扩展性。我们的团队致力于优化代码,减少资