您的位置:首页 > 编程语言 > Qt开发

VTK6.2编译+Qt5.5

2015-10-03 17:05 786 查看
最近在学习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。



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



打开VTK.sln



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的插件。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: