⑴ 在visual studio上运行vtk要那些模块有大神指点下吗
一、确定在64位操作系统上运行还是在WOW64下运行。
在Visual
Studio平台中最后对64位应用程序编译时,需要指定这个应用程序是在64位操作系统上作为本机应用程序运行还是在WOW64环境下运行。这个
WOW64环境是一个由操作系统提供的兼容性环境。这个环境主要是让32位应用程序也能够在64位的操作系统上运行。换句话说,在编译时要确定产生的应用
程序是真正的64位应用程序(只能够在64位操作系统上运行),还是伪64位应用程序(其实是32位应用程序,只是可以借助WOW64在64位操作系统上
运行)。
在确定这个内容的时候,有一个内容笔者要特别提醒
大家。通常情况下在64位操作系统上,所有使用NET Framework
1.1以前版本生成的应用程序都将被视作为32位应用程序,并且始终在32位公共语言运行上的WOW64环境下运行;而在2.0版本以后生成的32位特定
应用程序可以在64位平台上的WOM64环境下运行。这两个版本之间的细微差异,各位读者可以开发一个小程序测试一下即可。其中的内涵是只可意会、不可言
传呀。
二、正确部署Visual Studio开发环境。
在开发64位应用程序之前,需要明白一点。到目前
为止,Visual Studio
2008仍然是一个32位的应用程序。在安装部署时,如果是在X86的计算机上(32位操作系统),则其将安装32位的CLR版本。而如果在64位操作系
统上安装部署时,安装进程将同时安装32位的CLR版本和合适的64位CLR。注意当将其部署到64位操作系统的时候,它将在WOW64环境下运行。
此时笔者认为需要注意一个细节问题。当在
Wom64环境下运行32位应用程序时,应用程序只限于在一个处理器上执行。也就是说应用程序不能够享受64位操作系统所带来的性能上的提升。而单处理器
执行会降低32位应用程序在基于Itanium系统上运行时的性能和可伸缩性。为此如果对于性能要求比较高的应用程序或者有负载比较高的服务器,尽量不要
采用兼容的方式。即32位应用程序在32位操作系统上运行,而不要在Wom64环境下运行。否则的话,不但不能够享受64位操作系统带来的好处,反而会降
低应用程序原有的性能,得不偿失。
三、32位应用程序在64位CLR上运行可能导致意外的结果。
虽然64位操作系统提供另一个WOW64环境,使得32位应用程序能够在64位操作系统上运行。也就是说,在大部分情况下32位应用程序可以在32位或者64位操作系统上同等的运行,其最终的结果都是相同的。但是有时候也会有意外。这些意外主要是以下原因所造成的。
如在应用程序的结构中包含一些大小随平台而改变的成员。如指针类型的对象,其会操作操作系统位数的不同而改变。再如指针算法中如果包含固定大小,或者不正确的平台调用与COM声明等等,都会导致32位应用程序在64位CLR上运行出现一些意外的结果。
为此笔者特别提醒,如果开发人员设计一些兼容的应用程序时(即可以同时在32位与64位应用程序上运行),必须要注意这些因素对应用程序运行过程的影响。在开发中,要尽量避免使用这些对象,以免不必要的麻烦。
四、如何判断某个应用程序是否适合在64位操作程序上运行。
在应用程序开发时,开发人员可能会借鉴已有的应用
程序。此时他们就需要判断手中的应用程序能否在WOW64环境下运行。或者说,只有在特定的平台下,如32位操作系统或者64位操作系统下(而不是
WOM64)下运行。要实现这个目的的话,开发环境提供了一个Corflags的命令。简单的说,在命令行中使用corflags.exe可以确定某个
exe或者dll是仅仅在特定平台上运行,还是只可以在WOW64环境下运行。另外在必要的情况下,程序开发人员还可以利用这个命令来更改应用程序的平台
状态。
五、调试64位应用程序与32位应用程序之间的差异。
在开发平台中自带有应用程序的调试工具。应用程序
调试一般包括本地调试与远程调试。对于一些中大型的应用程序而言,远程调试是必须的。这里需要注意,在任何情况下,如果在64位计算机上安装远程调试都会
同时安装32位和64位版本的远程调试监视器。不过在调试64位应用程序的时候,则必须要选择正确的版本。如需要选择“远程调试器X64)。否则的话,调
试结果会有偏差。
下面介绍一下在64位平台上VS中会出现的编译错误
模块计算机类型“x64”与目标计算机类型“X86”冲突
一种可以解决的方法是:
1、修改目标计算机类型:项目->熟悉->连接器(Linker)->高级->目标计算机。然后把目标计算机类型改成X64。如下图所示:
2、配置管理器:解决方案平台(默认是Win32的)->选择配置管理器->活动解决方案平台下选择x64。如下图所示:
清楚一下项目 重新编译一下 OK!
项目生成64位的应用程序
一张自动更新BIOS的软盘,重新刷新BIOS,
⑵ 如何用pcl配置visual studio 2010
1.首先下载windows的安装包。我用的是预编译版本的多合一包,需要自己编译的也可以。注意下载时要看清楚vs2010的版本是32位还是64位,不然一些库会找不到对应入口,导致编译不通过的。
tips:可以在开始菜单下的Microsoft Visual Studio 2010文件夹下,查看Microsoft Windows SDK Tools,如果看到程序后面(如IL反汇编程序)有(x64)字样,则vs是64位的,没有就放心安装32位版本吧。
如果是用cmake生成pcl解决方案,要注意在cmake的时候确定各个依赖库的路径,可以在对应项上把鼠标停留一下,看看有什么提示信息,特别是VTK的目录。有些时候能够继续生成,但是部分模块并没有设置好参数,会导致编译出来的PCL运行不良好。
2.安装完毕后就测试一下PCL的效果吧,要注意项目对应的包含目录、库目录、库文件(LIB)和运行环境(DLL)。
用http://www.pointclouds.org/documentation/tutorials/pcl_visualizer.php#pcl-visualizer上面的例程试一试,新建工程,粘贴代码……
在包含目录下添加:
C:\Program Files\PCL 1.5.1\3rdParty\Boost\include;
C:\Program Files\PCL 1.5.1\3rdParty\Eigen\include;
C:\Program Files\PCL 1.5.1\3rdParty\Flann\include;
C:\Program Files\PCL 1.5.1\3rdParty\Qhull\include;
C:\Program Files\PCL 1.5.1\3rdParty\VTK\include\vtk-5.8;
C:\Program Files\OpenNI\Include;
C:\Program Files\PCL 1.5.1\include\pcl-1.5;
(对应自己机子上PCL的位置,如果为了CMAKE方便很多会放在根目录下。即C:\PCL)
在库目录下添加:
C:\Program Files\PCL 1.5.1\3rdParty\Boost\lib;
C:\Program Files\PCL 1.5.1\3rdParty\Qhull\lib;
C:\Program Files\PCL 1.5.1\3rdParty\Flann\lib;
C:\Program Files\PCL 1.5.1\3rdParty\VTK\lib\vtk-5.8;
C:\Program Files\PCL 1.5.1\lib;
C:\Program Files\OpenNI\Lib;
在附加依赖项上添加:
opengl32.lib
pcl_kdtree_debug.lib
pcl_io_debug.lib
pcl_search_debug.lib
pcl_segmentation_debug.lib
pcl_apps_debug.lib
pcl_features_debug.lib
pcl_filters_debug.lib
pcl_visualization_debug.lib
pcl_common_debug.lib
flann_cpp_s-gd.lib
libboost_system-vc100-mt-gd-1_47.lib
libboost_filesystem-vc100-mt-gd-1_47.lib
libboost_thread-vc100-mt-gd-1_47.lib
libboost_date_time-vc100-mt-gd-1_47.lib
libboost_iostreams-vc100-mt-gd-1_47.lib
openNI.lib
vtkalglib-gd.lib
vtkCharts-gd.lib
vtkCommon-gd.lib
vtkDICOMParser-gd.lib
vtkexoIIc-gd.lib
vtkexpat-gd.lib
vtkFiltering-gd.lib
vtkfreetype-gd.lib
vtkftgl-gd.lib
vtkGenericFiltering-gd.lib
vtkGeovis-gd.lib
vtkGraphics-gd.lib
vtkhdf5-gd.lib
vtkHybrid-gd.lib
vtkImaging-gd.lib
vtkInfovis-gd.lib
vtkIO-gd.lib
vtkjpeg-gd.lib
vtklibxml2-gd.lib
vtkmetaio-gd.lib
vtkNetCDF-gd.lib
vtkNetCDF_cxx-gd.lib
vtkpng-gd.lib
vtkproj4-gd.lib
vtkRendering-gd.lib
vtksqlite-gd.lib
vtksys-gd.lib
vtktiff-gd.lib
vtkverdict-gd.lib
vtkViews-gd.lib
vtkVolumeRendering-gd.lib
vtkWidgets-gd.lib
vtkzlib-gd.lib
这里要注意PCL引用到的其他库文件一定要加进去,VTK的库很多,而且依赖关系我看得很乱,所以为了方便就全加进去了。
如果没有加完整,很多信息提示错误的,之前忘了加一个什么库,导致很多error LNK2019,还让我重装了很多次……
注意库要对应debug和release版,debug后面一般都有-gd或者_debug的,看看就能分出来了。对应错了还会有error LNK:
error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in XXXX.......
这时应该可以看到成功生成的信息了:
⑶ VS2010,VTK,QT混合编程,在编译VTK.sln时出现如下错误,实在不知道为什么,请大家给看看,谢谢!
链接器添加vtkcommon.lib注意相对路径‥\‥\‥\bin\debug\vtkCommon.lib
⑷ CMake编译VTK,ITK总是出错
我编译过ITK与VTK刚开始也不行,后来成功了。总结成功原因:1.操作系统要干净2.最好正版的VC(我从微软下的90天试用版VS2008)3.你的这个错误明显是路径不对
⑸ Cmake动态编译VTK库(QVtkwidget)
在版本问题上大费周章之后,得到如下的成功尝试
软件版本说明:
PCl1.8.1 + VS2017 + Qt5.9.6 + Cmake + Vtk8.0.0
点击Configure后对条目进行处理:(修改完成继续Configure直到没有错误)
1.点击Add Entry添加
Name: CMAKE_DEBUG_POSTFIX 、Type: STRING 、Value:-gd、Description:空
让vtk的lib最后分为debug版本跟release版本。Debug版本带-gd。Release版本不带-gd,方便区分.
2.勾选BUILD_SHARED_LIBS,这样最后生成的vtk才会有dll跟lib
3.CMAKE_INSTALL_PREFIX设置为你清空的VTK文件夹(为了方便,这里选择的路径为PCL集成的VTK路径)
4.勾选VTK_Group_Qt,这样以后方便在qt里面使用
5.修改Qt5_DIR路径为PATH=D:/Qt/Qt5.12.0/5.12.0/msvc2017_64/lib/cmake/Qt5
6.修改VTK_QT_VERSION:STRING=5,使用Qt5修改相应版本号
7.如出现qmake路径则修改QT_QMAKE_EXECUTABLE:FILEPATH=D:/Qt/Qt5.12.0/5.12.0/msvc2017_64/bin/qmake.exe
完成Configure,不出意外就不再显示红色,接着点Generate
接着以管理员身份运行VS2017,打开构建目录下的VTK.sln
选择Debug,x64,然后右键解决方案窗口的ALL_BUILD --> 生成。
漫长等待...ing
然后右键install --> 仅生成install
Release版本同理,先ALL_BUILD --> 生成 再 右键install --> 仅生成install
至此完成编译VTK操作,接下来提取所需的QVtkwidget插件
⑹ 请问dmctk,vtk,itk有什么区别
ITK在医学图像分割和配准方面具有非常强大的功能,在进行分割与配准研究及开发医学图像处理与分析系统时,我们常常需要应用这一重要的工具。但ITK不具备可视化方面的功能,因此,在应用ITK进行图像处理后,一般会再利用VTK或者FLTK进行可视化,观察结果及进行交互显示.
CMAKE
vtk源码都是用c++编写的,是一个大的工程,无论在什么平台,用什么编译器,你都要告诉编译器该 如何去编译这么一个庞然大物。
工程文件是工程的一般组织形式,比如vc6.0下面是 dsw文件,gcc下可以把makefile看成这么一个东西。这些工程体系告诉编译器该干什么,需要什么 样的参数等
cmake就是这样一个用来生成适合不同编译器所需 要的工程文件的工具。 cmake为什么知道那些编译 参数呢,这不得不提CMakeList.txt这个文件,正是这个文件,提供了这些信息,换句话说,如果没有 CMakeList.txt,我们就不能使用cmake。
⑺ 如何使用已经编译安装好的vtk
1.下载VTK6,可以上官网自行下载
2.解压到当前目录
3.进入目录创建build文件夹,存放编译文件。
4.进入build文件夹进行配置,进行配置ccmake .. (注意ccmake与..之间有空格,".."代表上一级目录)
5.运行步骤4进行安装就可以的
⑻ 编译vtk出现的问题
说得详细一些,编译到什么情况出现的错误,bin已经编译出其他exe和dll文件了么?
⑼ win7系统下怎么正确安装 VTK(Visualization Toolkit)啊有没有高手帮下小弟!急!
不知道你碰到的是什么问题
解压source code和data的rar,然后修改vtkMFCWindow.cpp中的
#define WINVER 0x0400----------> #define WINVER 0x0501
然后再进行编译,
在win7下,可能需要将vtk install的文件夹从C:/program files/vtk 改一下,我改成C:/VTK
否则不知道为什么没有安装.h和.lib文件到该文件夹下。
打开VTK.sln,Install右键编译即可。
here is some .lib filenames:
QVTK.lib
vtkproj4.lib
vtklibxml2.lib
vtkQtChart.lib
vtkexoIIC.lib
vtkalglib.lib
vtkWidgets.lib
vtkVolumeRendering.lib
vtkGenericFiltering.lib
vtkGeovis.lib
vtkViews.lib
vtkHybrid.lib
vtkInfovis.lib
vtkMFC.lib
vtkIO.lib
vtkImaging.lib
vtkzlib.lib
vtkNetCDF.lib
vtkjpeg.lib
vtkRendering.lib
vtkGraphics.lib
vtkFiltering.lib
vtkCommon.lib
vtkverdict.lib
vtkDICOMParser.lib
vtkmetaio.lib
vtkexpat.lib
vtkfreetype.lib
vtkftgl.lib
vtktiff.lib
vtksqlite.lib
vtksys.lib
vtkpng.lib
add these into the Linker->input->additional dependencies.
以上是网上找的,希望对你有帮助 。