集中版本的集成:
QT5和VS2013是64位的平台,VS2013运行QT的时候必须改成x64平台运行
QT4、QT5和VS2010是32位的平台
1.首先我在VS2013整合QT5.5的时候,新建了QT的一个程序,运行的时候一直提示
模块计算机X86和目标计算机X64冲突
解决方案:出现这种问题的时候必须要检查当前的各个模块是不是都是兼容的,如:是不是都是32位的或64位,如果都是一样位数的话则执行下面步骤。
项目右键,属性》配置管理选择》x64;
项目右键,属性》连接器》高级》目标计算机》MachineX64;
右键项目选择“Change QT Version”---》选择当前的QT版本,没有的话就在解决方案右键,选择》“Change Solution‘s QT Version”》选64版本;
清理解决方案,重新编译即可,一定要清理解决方案,否则不会成功
附:如果不是相同的位数的软件,则需要下载或自己通过源文件编译,如QT在VS2010中只有32位,则必须要自己搭建64位的QT平台。
a.配置QT
所有的版本都是一样的,但是在QT5和VS集成的时候需要在VS中配置QT路径变量(VS2010集成QT4就不会出现问题,因为都是32位的环境,而且不需要配置路径,只要安装即可,自动会设置好路径)
(1)下载对应位数的QT版本进行安装,注意这里的QT是64位的
(2)配置计算机系统的环境变量
path:C:\Qt\Qt5.5.0\5.5\msvc2010\bin
新建QTDIR系统变量,与嵌入到VS的QT的路径变量设置保持一致
(3)addin安装后打开vs,会看到有QT的菜单项,选择,与上面的QTDIR路径保持一致
(4)配置完后重启(不知道要不要重启,好像不重启会出问题,所以还是重启下吧,如果没有重启也能配置成功在下面评论或私信下我)
b.VTK安装
(1)然后在官网上下载VTK的两个文件,一个是资源文件src,一个是数据文件data,分别解压;
(2)使用CMAKE进行编译,选择对应的选项(不同的VTK版本选项不同)
基本选项:
VTK5.10版本选项:
Buid_SHARED_LIBS:编译生成链接动态库;
CMAKE_INSTALL_PREFIX:Install单独生成的文件夹路径,建议和src.bin同意目录下新建集成文件,会生成bin,include,lib,plugins,share文件夹;
QT_QMAKE_EXECUTABLE:加载QT版本中的bin目录下qmake.exe;
VTK_DATA_ROOT:加载数据文件夹
VTK_USE_QT
VTK_USE_QTCHARTS
手动添加变量:VTK_DIR(vtk的bin目录)、VTK_USE_GUISUPPORT(bool)
VTK6以上版本选项:
Buid_SHARED_LIBS:编译生成链接动态库;
CMAKE_INSTALL_PREFIX:Install单独生成的文件夹路径,建议和src.bin同意目录下新建集成文件,会生成bin,include,lib,plugins,share文件夹;
QT_QMAKE_EXECUTABLE:加载QT版本中的bin目录下qmake.exe;
VTK_DATA_ROOT:加载数据文件夹;
VTK_GROUP_QT,VTK_QT_VERSION:选择5,
手动添加变量:VTK_DIR(vtk的bin目录)、CMAKE_PREFIX_PATH(QT\..\msvc2010_opengl)(3)在CMAKE生成的bin目录下,用vs打开vtk.sln文件,在release和debug两个环境下生成解决方案,最好先生成Debug版本,观察有没有错误;
(4)以管理员的身份打开VTK.sln,仅生成install项目,生成成功的话就会在install文件夹存在bin,include,lib,plugins,share文件,这是则说明VTK安装成功;
c.QT和VTK集成
release版本中的QVTKWidgetPlugin.lib,QVTKWidgetPlugin.dll,拷贝到文件夹D:\Qt\Qt5.3.2\5.3\msvc2010_opengl\plugins\designer下,就可以在QT design中看到VTKWidgts选项,则说明QT和VTK集成成功。
e.运行VTK的时候,出现如下错误
2.无法启动此程序,因为计算机中丢失 vtkRenderingOpenGL-6.3.dll。尝试重新安装该程序以解决此问题。
原因:是由于VS中没有加载VTK的.dll文件,有三种解决方案
(1).用VS2010在debug下右键Install,选择仅生成Install,在install生成的bin文件中含有所有vtk的.dll库文件,把该路径加载到计算机的系统变量path路径中;
在没有Install生成之前,可以使用下面两种方法
(2). 在VS2010中的当前运行的项目->属性->调试->工作目录,设置成cmake生成的bin文件下的debug文件,因为生成解决方案的时候在debug目录中生成了很多VTK的.dll文件,可以加载进来;
(3).把生成的debug目录下的.dll文件拷贝到系统的C:\Windows\System32文件夹中;
以上三种方法任选一种,在重新生成则会成功!!!
注意:一旦在编译的时候出现错误千万不要全部重新编译,只要找到对应出错的项目重新生成就可以,不然很耗时