Boost+QT+VTK+VS2005环境配置方法

配置这个东西花了我好几天时间,以下是我总结的方法

 

1.安装boost,下载boost 1.44的安装程序,用vs系列就不用自己编译了

下载地址: http://www.boostpro.com/download/boost_1_44_setup.exe

 

安装boost的时候,记得勾选所有Variants,否则后面编译VTK的时候可能出现找不到某lib的情况。

 

boost安装成功后,打开VS,

在VC++项目设置中添加包含文件:C:/Program Files/boost/boost_1_44

添加库文件:C:/Program Files/boost/boost_1_44/lib

 

编译个例子试试看成功没。成功了就继续。

 

2.为VS2005配置QT,QT也有直接的安装包,但是不建议使用,还是自行编译的好,我用安装包结果VTK找不到QT。编译的方法网上能搜到很多。

到官网下载qt-win-opensource-4.7.2-vs2008.exe,不要下那个SDK

 下载qt-vs-addin-1.1.8.exe,用于结合VS2005,VS2008...

 

具体编译很简单,这里就不详细写了,给3个链接供参考http://blog.csdn.net/zhiyonggong/archive/2011/01/01/6111517.aspx

 

http://archive.cnblogs.com/a/1958713/

 

 

http://hi.baidu.com/ychxshan/blog/item/1e7b34deb16099255982ddf5.html

 

根据给出链接中的方法,相信配置QT+VS2005是完全没问题的,那么继续下一步。

 

3.接下来就是最关键的VTK了,需要VTK和BOOST和QT结合,前两步没做好的话,这里是会出很多问题的。

 

配置VTK的方法网上同样有很多,这里同样给个链接,照链接里一步步做就好http://www.cnblogs.com/yxnchinahlj/archive/2010/10/12/1849161.html?login=1, 为了自己方便起见,我把链接的内容COPY过来了,然后修改了一下

 

3.1. 必须下载:
vtk-5.6.1-win32.exe
vtk-5.6.1.zip 源程序
vtkdata-5.6.1.zip 数据
(vtk相关安装程序下载:http://vtk.org
cmake-2.8.2-win32-x86.zip
(cmake程序下载:http://www.cmake.org/HTML/Index.html

 

3.2. 安装 vtk-5.6.1-win32.exe 到d:/VTK 5.6, 安装完成后 vtk5.6 文件夹同时会生成 bin、include、lib子文件夹。

 

3.3. 将 vtk-5.6.1.zip 解压到d:/VTK 5.6/VTK, 将vtkdata-5.6.0.zip解压到d:/VTK 5.6/vtkdata

  

3.4. 解压 cmake-2.8.2-win32-x86.zip,运行{解压目录}/bin/cmake-gui.exe,设置sourse code目录为D:/VTK 5.6/VTK/,build目录为D:/Program Files/VTK 5.6/bin/
    按 configure 按钮,选Visual Studio 8 2005编译器,然后cmake会描所需要的文件。


    选中 Advanced 再按 configure,可以看到一个vtk_use_guisupport,选择它,再按 configure, 选vtk_use_qt,vtk_use_boost, vtk_use_mfc,再configure,configure的次数是无所谓的

    build_shared_libs: 如果设置为off,就只会生成lib 文件。如果设置为on,将会多生成 dll 文件,这些dll需要拷到windows/system目录下。如果用静态库编程,即off时,应用程序可以独立运行,尺寸也比较大,如果用动态库编程,即on时,应用程序必须找到动态库才能运行。

    所有项目会变成灰色后后可以点击 Generate,完成时会提示 Generating done,此时关闭cmake。

 

3.5. 用 vc++2008打开 D:/VTK 5.6/bin/Utilities/MaterialLibrary目录下的 MaterialLibrary.sln 文件,右键点击All_Build选择重新生成。这步应该不会出错

  

3.6. 若 build_shared_libs 选择On,把D:/VTK 5.6/bin/bin/Debug里生成的vtksys.dll文件拷到windows/system目录下。

 

3.7. 打开D:/Program Files/VTK 5.6/bin目录下的VTK.sln,右键点击All_Build选择重新生成。
    这里可能出现一些错误,基本上就是找不到vtk***.lib这样的错误,这说明在D:/VTK 5.6/bin/bin/Debug里没有成功生成这个lib,比如错误是找不到vtkRendering.lib,那么你就到D:/VTK 5.6/bin/Rendering/vtkRendering.dir/Debug/BuildLog.htm中看是为什么没有成功生成这个lib,当时我是因为装了最新的JUNE 2010 DIRECTX SDK,由于是第一个开始不支持VS2005的SDK,所以出现找不到ddraw.h导致没能成功生成vtkRendering.lib,随后导致后面的一系列错误,于是只好卸载了DIRECTX SDK,解决了这个错误再说。

 

然后我又遇到了找不到vtkInfoVis.lib,没能成功生成的原因是因为找不到boost中的libboost_serialization-vc80-mt-gd-1_44.lib,最开始我的boost并没有完全安装,没有这个lib, 但是经过完全安装后还是出现这个问题,于是只好把这个lib拷贝到D:/VTK 5.6/bin/Infovis下与D:/VTK 5.6/bin/Infovis/Testing/Cxx下,于是错误消失,编译完全通过。


    这时可以右击Cone6,选择调试->启动新实例,就可以看到正确运行的程序了。

 

3.8. 新建项目Test(控制台应用程序空项目),增加Test.cpp文件,用Cone6.cxx的文件内容覆盖Test.cpp的内容。

  

3.8.1 配置附加包含目录,位于项目属性->配置属性->c/c++/常规 的第一项,拷入入下述内容(具体可通过查看实例的附加包含目录):可保存到记事本,取消自动换行,方便以后使用

 

"D:/VTK 5.6/bin";"D:/VTK 5.6/bin/Common";"D:/VTK 5.6/bin/Utilities";"D:/VTK 5.6/bin/VolumeRendering";"D:/VTK 5.6/bin/Rendering";"D:/VTK 5.6/bin/Charts";"D:/VTK 5.6/bin/GUISupport/MFC";"D:/VTK 5.6/bin/Utilities/vtkalglib";"D:/VTK 5.6/vtk/Infovis";"D:/VTK 5.6/vtk/Geovis";"D:/VTK 5.6/vtk/Views";"D:/VTK 5.6/vtk/VolumeRendering";"D:/VTK 5.6/vtk/Hybrid";"D:/VTK 5.6/vtk/Widgets";"D:/VTK 5.6/vtk/Rendering";"D:/VTK 5.6/vtk/Charts";"D:/VTK 5.6/vtk/Rendering/Testing/Cxx";"D:/VTK 5.6/vtk/IO";"D:/VTK 5.6/vtk/Imaging";"D:/VTK 5.6/vtk/Graphics";"D:/VTK 5.6/vtk/GenericFiltering";"D:/VTK 5.6/vtk/Filtering";"D:/VTK 5.6/vtk/Common";"D:/VTK 5.6/vtk/Utilities";"D:/VTK 5.6/vtk/Common/Testing/Cxx";"D:/VTK 5.6/bin/Utilities/vtklibproj4";"D:/VTK 5.6/vtk/Utilities/vtklibproj4";"D:/VTK 5.6/bin/Utilities/DICOMParser";"D:/VTK 5.6/vtk/Utilities/DICOMParser";"D:/VTK 5.6/bin/Utilities/vtkfreetype/include";"D:/VTK 5.6/vtk/Utilities/vtkfreetype/include";"D:/VTK 5.6/bin/Utilities/vtknetcdf";"D:/VTK 5.6/vtk/Utilities/vtknetcdf";"D:/VTK 5.6/bin/Utilities/vtkexodus2/include";"D:/VTK 5.6/vtk/Utilities/vtkexodus2/include";"D:/VTK 5.6/bin/Utilities/MaterialLibrary";"D:/VTK 5.6/vtk/Utilities/MaterialLibrary";"D:/VTK 5.6/bin/Utilities/verdict";"D:/VTK 5.6/vtk/Utilities/verdict";"D:/VTK 5.6/vtk/Utilities/utf8/source";"D:/VTK 5.6/vtk/GUISupport/MFC";"D:/VTK 5.6/vtk/Utilities/vtkalglib";"D:/VTK 5.6/vtk/Utilities/ftgl/src";"D:/VTK 5.6/bin/Utilities/ftgl";E:/Qt/4.7.2/include/QtGui E:/Qt/4.7.2/include E:/Qt/4.7.2/include/QtCore

 

 

3.8.2 附加依赖项,位于项目属性->链接器->输入 的第一项,拷入入下述内容(具体可通过查看实例的附加包含目录,切勿直接负责../../性质的内容,若想直接复制,请确保新建项目与拟拷配置的项目位于同一文件夹下):

QtGuid4.lib qtmaind.lib QtCored4.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib "D:/VTK 5.6/bin/bin/Debug/vtkWidgets.lib" "D:/VTK 5.6/bin/bin/Debug/vtkHybrid.lib" "D:/VTK 5.6/bin/bin/Debug/vtkRendering.lib" "D:/VTK 5.6/bin/bin/Debug/vtkGraphics.lib" "D:/VTK 5.6/bin/bin/Debug/vtkImaging.lib" "D:/VTK 5.6/bin/bin/Debug/vtkIO.lib" "D:/VTK 5.6/bin/bin/Debug/vtkFiltering.lib" "D:/VTK 5.6/bin/bin/Debug/vtkCommon.lib" "D:/VTK 5.6/bin/bin/Debug/vtksys.lib" ws2_32.lib vtkzlib.lib vtkWidgets.lib vtkVolumeRendering.lib vtkViews.lib vtkverdict.lib vtktiff.lib vtksys.lib vtksqlite.lib vtkRendering.lib vtkQtChart.lib vtkproj4.lib vtkpng.lib vtkNetCDF.lib vtkmyUnsorted.lib vtkmyImaging.lib vtkmyCommon.lib vtkmetaio.lib vtkLocal.lib vtklibxml2.lib vtkjpeg.lib vtkIO.lib vtkInfovis.lib vtkImaging.lib vtkHybrid.lib vtkGraphics.lib  vtkGeovis.lib vtkGenericFiltering.lib vtkftgl.lib  vtkfreetype.lib vtkFiltering.lib vtkexpat.lib vtkexoIIc.lib vtkDICOMParser.lib vtkCommon.lib vtkCharts.lib vtkalglib.lib QVTKWidgetPlugin.lib QVTK.lib mpistubs.lib MapReduceMPI.lib

 

3.8.3 然后右击Cone6,选择调试->启动新实例,看到Cane6的实例窗口

 

 

OVER

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值