VTK5.10、VTK6.3和QT4.8、QT5.5在VS2013、VS2010不同平台搭建的心得

来源:互联网 发布:邢台网络优化招聘 编辑:程序博客网 时间:2024/05/19 19:31

集中版本的集成:

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.libQVTKWidgetPlugin.dll,拷贝到文件夹D:\Qt\Qt5.3.2\5.3\msvc2010_opengl\plugins\designer下,就可以在QT design中看到VTKWidgts选项,则说明QT和VTK集成成功。

e.运行VTK的时候,出现如下错误

1.


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文件夹中;

以上三种方法任选一种,在重新生成则会成功!!!


注意:一旦在编译的时候出现错误千万不要全部重新编译,只要找到对应出错的项目重新生成就可以,不然很耗时




0 0
原创粉丝点击