天天看点

VTK6.3结合QT5.4在VS2013上编译安装一些问题和解决写在前面CMake配置中的问题VS2013编译时的问题

写在前面

之前学习时一直使用的是VTK5.10.1版本,现在要使用VTK6.3安装过程中发现了一些问题,找了很久才终于解决,因此写下来相关问题与解决方法与大家分享,希望能给大家带来帮助。

关于VTK的安装可以参考东灵的教程:http://blog.csdn.net/www_doling_net/article/details/8532742

本文的相关环境:

VTK-6.3.0

qt-opensource-windows-x86-msvc2013_64_opengl-5.4.2

vs2013 ultimate

CMake配置中的问题

vtk的QtWebKit问题

勾选 VTK_Group_Qt ☑ (check),再Configure,遇到 错误将vtk的版本改为5,然后继续Configure,就会遇到一些qt方面的错误

错误原因是vtk6.3结合qt5时,QtWebKit模块会有问题,这是vtk自身的bug,后续可能会修复

可以参考:http://www.linkedin.com/pulse/vtk-63-qt-56-superior-waldo-valenzuela

解决方法

删除 VTK-6.3.0\GUISupport\QtWebkit

再重新Configure

VS2013编译时的问题

vtk的mfc问题

在vs2013上编译vtk,当cmake配置时勾选了Module_vtkGUISupportMFC,会出现编译失败十几个项目,主要是vtkGUISupportMFC无法编译通过。会看到vtkGUISupportMFC项目有如下错误信息Building an MFC project for a non-Unicode character set is deprecated

其原因是用于多字节字符编码(MBCS)的MFC库(DLL)不再包含于Visual Studio中,但是可用作插件,参考官方详细信息:

http://blogs.msdn.com/b/vcblog/archive/2013/07/08/mfc-support-for-mbcs-deprecated-in-visual-studio-2013.aspx

解决方法

1、使用官方的方法,下载安装支持多字节字符编码(MBCS)的插件,这能解决编译其他MFC项目的问题

下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=40770

2、修改vtkGUISupportMFC项目属性,本文采用的就是这种方法,主要是简单快捷

既然vs2013移除了原生对MBCS的支持而广泛采用unicode编码我们就把vtk中vtkGUISupportMFC项目字符集属性设置为unicode字符集,如下图:

VTK6.3结合QT5.4在VS2013上编译安装一些问题和解决写在前面CMake配置中的问题VS2013编译时的问题

再重新编译

继续阅读