VTK6.2编译+Qt5.5

最近在学习C++QtGUI编程,并着手制作一个3D显示点云的程序。Qt中自带的opengl有一点无法突破,便准备利用VTK实现点云可视化。http://blog.163.com/qimo601@126/blog/static/158220932013626113440944/

下载最新版的VTK

VTK下载地址:http://www.vtk.org/download/#latest
解压至:E:\CPlusPlusLib\VTK目录中的source文件夹。

下载最新版cmake并安装

cmake下载地址:https://cmake.org/download/
本人下载的是cmake-3.3.2-win32-x86.exe。

编译VTK6.2

打开cmake
选择如下图,点击configure,编译器选择visual studio 12 2013 win64(操作系统为64位)。
修改CMake的参数:
1 BUILD_SHARED_LIBS 选ON状态,可以生成动态链接库dll。后期只需要拷贝到项目中即可使用。OFF的话,会生成静态链接库lib,也可以在项目中使用。
2 Module_vtkGUISupportQt 选ON状态,支持Qt界面。
然后,再点击Configure按钮,重新让CMake扫描一下配置文件。参数列表里估计会生成很多关于Qt的信息。运行成功之后,页面上的红色将消失,若还有红色,则看看红色选项卡上还需要选中什么,再做相应修改,然后再运行Configure。
VTK6.2编译+Qt5.5_第1张图片

点击Generate按钮。生成VTK的VS项目。

打开VTK.sln

VTK6.2编译+Qt5.5_第2张图片

1、选择ALL_BUILD项目的Debug模式,build勾选,点击build按钮。

2、选择INSTALL项目的Debug模式,build勾选框。点击build按钮。



若出现如上图所示失败,和如下提示,就打开E:\CPlusPlusLib\VTK\bin中的cmake_install.cmake,并作如下修改:

# Set the install prefix
if(NOT DEFINED CMAKE_INSTALL_PREFIX)
  set(CMAKE_INSTALL_PREFIX "E:/CPlusPlusLib/VTK")
endif()
string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
------ 已启动生成:  项目: INSTALL, 配置: Release x64 ------
  -- Install configuration: "Release"
  CMake Error at cmake_install.cmake:31 (file):
    file cannot create directory: C:/Program Files/VTK/lib/cmake/vtk-6.2.
    Maybe need administrative privileges.


C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(132,5): error MSB3073: 命令“setlocal
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(132,5): error MSB3073: "E:\Program Files (x86)\CMake\bin\cmake.exe" -DBUILD_TYPE=Release -P cmake_install.cmake
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(132,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(132,5): error MSB3073: :cmEnd
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(132,5): error MSB3073: endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(132,5): error MSB3073: :cmErrorLevel
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(132,5): error MSB3073: exit /b %1
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(132,5): error MSB3073: :cmDone
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(132,5): error MSB3073: if %errorlevel% neq 0 goto :VCEnd
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(132,5): error MSB3073: :VCEnd”已退出,代码为 1。
========== 生成:  成功 9 个,失败 1 个,最新 111 个,跳过 0 个 ==========

Qt设计师中多出QVTKWidget部件

将E:\CPlusPlusLib\VTK\bin\lib\Release目录中的QVTKWidgetPlugin.dll和QVTKWidgetPlugin.lib拷贝到C:\Qt\Qt5.5.0\5.5\msvc2013_64\plugins\designer目录下,即可在QtDesigner中看到VTK的插件。

你可能感兴趣的:(qt,VTK,qt5)