VTK6 + VS2008 in(win7 32bit or 64 bit)(qt4.8已完成配置!)


一、VTK安装环境

1.在win7平台(32位或64位平台下均可,只有一个步骤不同,当然如果你是64位系统使用32位vtk完全可以!)

2.已经安装vs2008(并且已经安装补丁sp1(这是安装qt-addin的前提,所以如果安装好了qt一定是有的)

3.已经在vs2008中集成了qt。(你也可以不用qt,这一条就可以忽略!)

有很多人在郁闷64位的win7怎么配置,其是和32位完全一样,全部都用32位没有问题。我请自试验过,以下的文件也都是32位版本的。

注意:如果是64位系统,则需要安装X64编译器,X64编译器在安装vs2008时默认是不安装的。如果没有,需要再安装一下。

最后强烈建议:无论系统是32bit还有64,都使用32位的vtk。因为64可能出现各种问题!

二、VTK安装

1、下载

VTk官方下载页面:http://www.vtk.org/VTK/resources/software.html#latest

我下载的是vtk-6.0.0.zip(源码)、vtkdata-6.0.0.zip(数据)。

2、编译

2.1下载cmake3.0(请直接百度cmake进入官网下载(32bit版本即可)),并安装。它是用来完成VTK编译的。

2.2 解压:vtk-6.0.0.zip       至D:\kit\VTK\src

解压:vtkdata-6.0.0.zip至D:\kit\VTK\data

建立目录:                        D:\kit\VTK\bin

建立目录:                        D:\kit\VTK\install

(注意解压完成后,src和data下面应该有很多文件,而不是只有一个文件夹,bin和install是空的)

2.3 运行安装后的,CMake程序

选择source code目录为  D:\kit\VTK\src

选择build后的bin目录为 D:\kit\VTK\bin

点击Configure按钮,会提示你选择编译器,我们选择visual studio 9 2008(下面的选项为第一个)。点击finish(此处是32和64位系统唯一的差异:64位请选择(visual studio 9 2008 win64),前提是安装了X64  不然会出错!).然后Cmake会扫描一下它需要的文件,等它停下来后,我们就可以修改CMake的参数选项了。(红色代表新扫面到的文件,而不是错误文件!)

(此时可能失败显示文件非法什么的,关闭vs,cmake,删除 D:\kit\VTK\bin中的内容,多试几次,我就是来了几次就成功了)。

 2.4 选择CMake的参数(即打勾)

不需要Advanced选项:

  1. build_examples    :关闭,需要使用后期再编译。
  2. BUILD_SHARED_LIBS : 打开,可以生成动态链接库dll。后期需要配置环境变量。OFF的话,会生成静态链接库lib,也可以在项目中使用。
  3. VTK_Group_Qt  :打开,支持Qt界面。
  4. CMAKE_INSTALL_PREFIX = D:\kit\VTK\install  :(要修改,最好不要保持默认!
  5. 其它保持默认

然后,再次点击Configure按钮,重新让CMake扫描一下配置文件,会发现都变成白色,如果还有红色,可以忽略,或者选上再第三次点击Configure按钮

最后再扫描结束后,点击Generate按钮。生成VTK的VS项目。

2.5 打开VTK的VS项目  D:\kit\VTK\bin\VTK.sln

 

首先选择Release模式:

  1. 选择ALL_BUILD项目,生成。

大概30分钟后编译成功。

2、再选择INSTALL项目(即右键设为启动项),生成。

首先选择Debug模式:

  1. 选择ALL_BUILD项目,生成。

大概30分钟后编译成功。

2、再选择INSTALL项目(即右键设为启动项),生成。

注:顺序一定要正确先ReleaseDebug

3、配置VTK
 3.1将VTK集成至Qt中,作为插件

注1、要是想在Qt中引用VTK窗口插件,需要VTK的Release模式编译生成的QVTKWidgetPlugin.dll和QVTKWidgetPlugin.lib。

注2、将Release模式下生成的QVTKWidgetPlugin.dll和QVTKWidgetPlugin.lib拷贝到Qt安装目录中\plugins\designer目录下,这样就可在QtDesigner中看到VTK的插件。(这两个文件可以直接在D:\kit\VTK\bin目录下搜索,搜索结果见注3)

注3、搜索到了两个文件:QVTKWidgetPlugin.dll和QVTKWidgetPlugin.lib ,你会发现都有两个版本,请查看他们的生成时间,首先,必须确保是同时生成的。因为,先生成的Release版本,后生成的Debug版本,所以这两个文件的修改时间都比较早。(Qt中VTK窗口插件是需要这两个文件的Release版本)

如果打开Qt Designer出现问题,一定是:这两个文件没有选择正确。

如果出现QVTK 插件则成功

3.2VC项目VTK的环境配置

有很多中配置方式,这里我就介绍一个最简单最通用的:

首先,先别急着配置,我们看看通过cmake都干了点什么吧:

在cmake中我们一共提到两个目录:

第一个:D:\kit\VTK\bin 为cmake的build后的目标目录

第二个:CMAKE_INSTALL_PREFIX =D:\kit\VTK\install 

请注意斜体的两个斜体的单词,一个是构建(build)!一个是安装(install)!

没错,我们用cmake构建了一个安装程序!然后在vs中安装(姑且这么理解)!

所以我们最后的东西都在 D:\kit\VTK\install 中!(至于在vs中生成了那些东西都是什么,我也管不着!除了在D:\kit\VTK\bin目录下查找qt的插件之外)

现在开始配置吧:

1.打开vs,新建一个QT项目:

2.工具-》选项-》项目和解决方案-》vc++目录:

在“包含文件”中添加:D:/kit/VTK/install/include

在“库文件”中添加:D:/kit/VTK/install/lib

        (注意,include和lib文件夹下面应该全是.h 和 .lib文件,有时可能是多了一级目录即.../include/vtk/.. 需要注意!

3.请把D:/kit/VTK/install/bin添加到环境变量;

4.需要在项目单击右键-》属性-》配置属性-》连接器-》输入-》附加依赖项 中加入XXX-06.lib!(使用cmake生成的项目不需要添加,如果用vs2008生成win32控制台程序或qt程序来编写vtk则需要(因为vtk项目一般用cmake来管理!cmake会自动搜集,如果使用cmake甚至上面两条都不需要!不过新手还是慢慢来吧!))

(看到下面一堆要一条一条的添加是不是晕了,没关系,重新打开刚才的D:\kit\VTK\bin\VTK.sln随便选择一个项目右键-》属性-》配置属性-》连接器-》输入-》附加依赖项,把里面的东西先复制出来,然后去掉文件名前面的路径(因为具体的路径已经在上述第二条就解决了),这就是你要的东西了,注意:如果是XXX-lib没有6.0 的话是错误的,需要重新找一个项目,注意一共有一百多项,所以你找的项目可能只添加了几项!拷贝到新的项目可能需要的更多,所以也会遇到无法解析的外部符号的错误)!

vtkalglib-6.0.lib

vtkChartsCore-6.0.lib

vtkCommonColor-6.0.lib

vtkCommonDataModel-6.0.lib

vtkCommonMath-6.0.lib

vtkCommonCore-6.0.lib

vtksys-6.0.lib

vtkCommonMisc-6.0.lib

vtkCommonSystem-6.0.lib

vtkCommonTransforms-6.0.lib

vtkInfovisCore-6.0.lib

vtkFiltersExtraction-6.0.lib

vtkCommonExecutionModel-6.0.lib

vtkFiltersCore-6.0.lib

vtkFiltersGeneral-6.0.lib

vtkCommonComputationalGeometry-6.0.lib

vtkFiltersStatistics-6.0.lib

vtkImagingFourier-6.0.lib

vtkImagingCore-6.0.lib

vtkRenderingContext2D-6.0.lib

vtkRenderingCore-6.0.lib

vtkFiltersGeometry-6.0.lib

vtkFiltersSources-6.0.lib

vtkIOImage-6.0.lib

vtkDICOMParser-6.0.lib

vtkIOCore-6.0.lib

。。。

 

总结:我们发现除了插件,我们其实一共只配置了三种文件的目录:.dll (动态链接库文件) 、.lib(静态链接库文件)、.h(头文件),而配置方法其实有很多。

我的建议:dll文件(一般在bin目录下):直接将bin目录添加至系统环境变量(不会的请自行百度);

               lib文件(一般在lib目录下):通过“工具-》选项-》项目和解决方案-》vc++目录”的方式添加;

            h文件(一般在include目录下):同上

根据我的建议你会发现opengl、opencv等等这些基本上全部都是这样的配置方式,而cmake的使用方式也是这样。当然还有其他很多配置方法,不过这样即不会更改系统目录,也不需要来回移动文件。(但是opengl和opengcv不需要配置项目依赖,我也不知道为什么!)

附录1:很多人安装不成功,但是安装的东西影响了后来的重新安装;所以这里介绍如何把环境恢复成初试状态!

1.清空目录D:\kit\VTK\install

2.清空目录D:\kit\VTK\bin 中的全部内容!(注:查看隐藏文件,你会发现一个vtk.suo的文件,一并删除!)

3.删除环境变量:D:\kit\VTK\install\bin

4.进入vs“工具-》选项-》项目和解决方案-》vc++目录”

删除“包含文件”中的条目:D:\kit\VTK\install\include

删除“库文件”中的条目:D:\kit\VTK\install\lib

5.清除工程中的依赖项;

6.此时可以用cmake重新生了;

附录2:这里记录下可能产生的错误和产生错误的原因(以下为win32命令行运行方式):

1.运行项目时,弹出错误对话框,提示缺少XXX.dll  : 没有被指环境变量;

2.运行项目时,输出窗口显示,无法解析的外部符号:没有配置lib目录或没有把全部的lib加入项目依赖中;
    3.运行项目时,提示无法找到文件XX.lib   :    配置了项目依赖,但是没有配置“库文件”中的条目;

4.要注意运行时,是Debug还是release模式,因为项目依赖是两个分别配置的。所以如果你全部配置是正确的,但是用Release模式运行,就会出现3中的错误。

5.项目依赖需要每个项目都配置一次!

6.最神奇,但是国内网站几乎找不到解决方案的问题 (使用CMAKE生成项目不存在此问题):

        “读取位置。。。发生访问冲突。。”

这个问题只需要,在你的每一个代码文件最前面两行添加如下代码:

#define vtkRenderingCore_AUTOINIT 4(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingFreeTypeOpenGL,vtkRenderingOpenGL)

#define vtkRenderingVolume_AUTOINIT 1(vtkRenderingVolumeOpenGL)

具体原因见:http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Factories_now_require_defines

7.通过cmake生成了解决方案,运行时如果说缺少QVTK.lib请替换这个项目中的附加依赖项(所有和vtk有关的项,还可能有Qt和opengl等是需要保留的。),见配置过程!

附录3:英文配置教程:http://www.vtk.org/Wiki/VTK/Configure_and_Build

本文少部分内容来自网上,如需修改请告知!楼主花了大量的时间验证和修改,转载请注明出处。

VTK6 + VS2008 in(win7 32bit or 64 bit)(qt4.8已完成配置!)

时间: 2024-08-03 06:25:32

VTK6 + VS2008 in(win7 32bit or 64 bit)(qt4.8已完成配置!)的相关文章

vs2008 + qt4.8(both in win7 32bit and 64bit)

目前预计的可视化开发环境为: vs2008(sp1) + QT4.8 建立于windows7.64bit系统; 使用的qt插件与qt均为32位版本: 1.安装步骤 第一步:安装VS2008(我使用的是90天试用版,需要打sp1补丁!!,请自行下载安装!). 第二步:去QT官方网站http://qt-project.org/downloads下载2个软件.1,下载安装VS2008编译过的QT库4.8:http://download.qt-project.org/official_releases/

Win7旗舰版64位下编译32位的带CGO的GoLang程序

开发过程中,遇到一个问题. 客户服务器端为32位Windows系统,软件系统必须编译成32位系统才能在客户端正常运行. 本人开发环境: Win7旗舰版64位 Golang 1.8 64位 TMD-GCC5.1 64位 在此情况下,使用批处理文件如下: set GOOS=windows set GOARCH=386 set CGO_ENABLED=1 go build pcms pause 系统调用go-sqlite3,使用cgo调用,会报出编译错误,原因就是gcc调用的异常 使用交叉编译的方式总

Win7 64位旗舰版系统安装和配置IIS7.0的方法

Win7 64位旗舰版系统安装和配置IIS7.0的方法分享给大家,IIS是Internet Information Services的缩写,是一个World Wide Web server.Gopher server和FTP server全部包容在里面. IIS意味着你能发布网页,并且有ASP(Active Server Pages).JAVA.VBscript产生页面,有着一些扩展功能.笔者就给大家分享下Win7系统下IIS7的详细安装配置. 推荐:雨林木风Ghost win7系统下载   操

Win7 64 + Eclipse + NDK + CDT + Cocos2d-x环境配置

1.安装cocos2d-x 2.2.3 在Cocos2d官网上下载Cocos2d-x 2.2.3引擎,下载后解压缩 2.安装Eclipse与Android SDK Eclipse 在其官网下载(官网地址). Android SDK 在Android开发者中心下载(地址). 3.安装JDK Eclipse需要Java环境才能运行.如果事先没有安装Java环境,则会报错. 解决方案安装jdk(下载地址). 4.安装CDT插件(下载地址) 这是个Eclipse的插件,用来支持Eclipse中C/C++

win7下安装64位 mysql 5.7.4

1:下载64位mysql压缩包:http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.17-winx64.zip 2:解压,路径自己定,我的是在S:\program\mysql-5.7.4-m14-winx64 . 3:新建my.ini , 内容如下,我从网上copy的一个: ####################配置文件开始################### # For advice on how to change setting

基于eclipse搭建android开发环境-win7 32bit

基于eclipse搭建android开发环境-win7 32bit 前言:在使用朋友已搭建的Android开发环境时,发现朋友的开发环境版本较低且在update SDk时失败,便决定根据网上文章提示从头搭建一全新的Android开发环境. 1.准备工作 下载Eclipse.JDK(7).Android SDK.ADT插件. 地址: eclipse:http://www.eclipse.org/downloads/ 版本:Luna Service Release 1 (4.4.1) jdk:htt

Win7 32bit下一个hadoop2.5.1源代码编译平台的搭建各种错误遇到

从小白在安装hadoop困难和错误时遇到说起,同时,我们也希望能得到上帝的指示. 首先hadoop更新速度非常快,最新的是hadoop2.5.1,因此就介绍下在安装2.5.1时遇到的各种困难. 假设直接准备在系统上安装binary版本号的,能够參考http://www.cnblogs.com/kinglau/p/3270160.html. 在下载好hadoop文件时.一定要注意下载的hadoop版本号是否与本机的系统版本号相相应,如32bit的还是64bit的,否则在运行start-all.sh

Win7 32bit下hadoop2.5.1源码编译与平台搭建中遇到的各种错误

本文从一个小白在安装hadoop遇到的各种困难和错误说起,也希望得到大神的指点. 首先hadoop更新很快,最新的是hadoop2.5.1,因此就介绍下在安装2.5.1时遇到的各种困难. 如果直接准备在系统上安装binary版本的,可以参考http://www.cnblogs.com/kinglau/p/3270160.html.在下载好hadoop文件时,一定要注意下载的hadoop版本是否与本机的系统版本相对应,如32bit的还是64bit的,否则在执行start-all.sh时会报错.我就

win7旗舰版64位缺失tbb.dll文件

win7旗舰版64位缺失tbb.dll文件 https://zhidao.baidu.com/question/688589990330312804.html 到好的电脑中复制一个,黏贴到下同的路径下即可. 1.在同系统中找到此文件,黏贴到:C:\Windows\System32文件夹底下 2.打开CMD窗口输入如下命令注册一下所有的动态链: for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1 回车执行 for %1 in (%wi