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/
解压至:E:\CPlusPlusLib\VTK目录中的source文件夹。
本人下载的是cmake-3.3.2-win32-x86.exe。
选择如下图,点击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。
![](http://img.blog.csdn.net/20151003164723042)
![](http://img.blog.csdn.net/20151003165026528)
![](http://img.blog.csdn.net/20151003165433946)
![](http://img.blog.csdn.net/20151003165632642)
![](http://img.blog.csdn.net/20151003165652461)
![](http://img.blog.csdn.net/20151003165537462)
若出现如上图所示失败,和如下提示,就打开E:\CPlusPlusLib\VTK\bin中的cmake_install.cmake,并作如下修改:
下载最新版的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的插件。相关文章推荐
- QT中的内存管理一个小经验
- QT容器学习
- 【C/C++学院】0817-递归汉诺塔 双层递归 /CPP结构体 /面向过程与面向对象的编程模式/类的常识共用体实现一个类的特征/QT应用于类以及类的常识
- QT5 学习之路14---对象模型
- Qt-自定义日历
- QT5 学习之路13---资源文件
- [Qt] QString 和 char* 转换
- [Qt] QString 和 char* 转换
- [Qt] qtcreator 中打开console
- [Qt] qtcreator 中打开console
- QT5 学习之路12---添加动作
- QT5 学习之路11---MainWindow 简介
- QT5 学习之路10---Qt 模块简介
- 软件实习笔记三(Qt5.5连接MySQL5.6)
- 自学QT之获取正确的文件名
- 一本QT书,连接MySQL图文并茂
- Qtcreator中常用快捷键和小技巧
- Qt 自定义PushButton
- QT5 学习之路09---event()
- QT5 学习之路08---事件的接受与忽略