您的位置:首页 > 编程语言 > Qt开发

VS2008、QT及VTK实现DICOM图像三维重建之三:Win32工程配置

2012-01-13 19:46 513 查看
1,VS2008下新建一个win32控制台应用程序。命名为Reconstruction。

2,QT相关配置

打开“项目”—“属性”—“配置属性”:

在“常规”选项中将“字符集”改为“使用多字节字符集”,这个主要是因为QT的原因。

在“调试”中将“环境”改为“PATH=D:\Qt\4.7.4\bin”(此处假设将Qt安装在D盘下,版本为4.7.4)。

在“C/C++”—“常规”的“附加包含目录中”添加Qt的include目录,在我的电脑上,依次为:D:\Qt\4.7.4\include; D:\Qt\4.7.4\include\Qt;

D:\Qt\4.7.4\include\QtCore; D:\Qt\4.7.4\include\QtGui。

在“链接器”—“常规”的“附加库目录”中添加Qt的lib库文件所在文件夹,在我的电脑上为:D:\Qt\4.7.4\lib。

在“链接器”—“输入”的“附加依赖项”中添加Qt中的lib文件名称,在我电脑上依次为:QtMultimediad4.lib qtcore4.lib qtgui4.lib qtmain.lib qtmaind.lib。注意各项之间用空格隔开,不是分号。

3,VTK相关配置

在上一篇文章中讲了VTK在VS2008下的编译生成,我把生成的相关文件放在C:\VTK目录下。

打开“项目”—“属性”—“配置属性”:

在“C/C++”—“常规”的“附加包含目录中”添加VTK的include目录,在我的电脑上,为:C:\VTK\include\vtk-5.6。

在“链接器”—“常规”的“附加库目录”中添加VTK的lib库文件所在文件夹,在我的电脑上为:C:\VTK\lib\vtk-5.6。

在“链接器”—“输入”的“附加依赖项”中添加VTK中的lib文件名称,在我电脑上依次为:

QVTK.lib

kernel32.lib

user32.lib

gdi32.lib

winspool.lib

shell32.lib

uuid.lib

ole32.lib

oleaut32.lib

comdlg32.lib

advapi32.lib

vtkRendering.lib

vtkGraphics.lib

vtkverdict.lib

vtkImaging.lib

vtkIO.lib

vtkFiltering.lib

vtkCommon.lib

vtkDICOMParser.lib

vtkNetCDF.lib

vtkmetaio.lib

comctl32.lib

wsock32.lib

vtksqlite.lib

vtkpng.lib

vtktiff.lib

vtkzlib.lib

vtkjpeg.lib

vtkexpat.lib

vtksys.lib

ws2_32.lib

vfw32.lib

vtkftgl.lib

vtkfreetype.lib

opengl32.lib

vtkWidgets.lib

vtkVolumeRendering.lib

vtkViews.lib

vtkproj4.lib

vtklibxml2.lib

vtkInfovis.lib

vtkHybrid.lib

vtkGeovis.lib

vtkGenericFiltering.lib

vtkexoIIc.lib

vtkCharts.lib

vtkalglib.lib

注意各项之间用空格隔开,不是分号。
4 Qt界面头文件的编译
假设Qt界面头文件为hello.h,右键hello.h,选择“属性”,在属性页中选择“配置属性”—“常规”,在工具一览选择“自定义生成工具”,在“自定义生成步骤”的命令行选项中中输入“moc hello.h -o moc_hello.h”,输出中填写“moc_hello.h”,附加依赖项输入“moc hello.h”。
5 注意事项
由于要将VTK和Qt一起混合编程,因此在编Qt界面的头文件中,要加入与VTK相关的一些数据,因此,Qt的界面不能用Qt自带的Designer来设计生成。之所以不行是因为用Designer生成的界面对应的头文件是不能更改其内容的。
6 说明
为了使VTK三维重建的窗口在Qt中使用。调用VTK中的QVTKWidget控件,来进行显示,例如:
vtkRenderWindow *renWin = VtkRenderWindow::New();
QVTKWidget *widget = QVTKWidget::New();
widget->SetRenderWindow(renWin);
转载请说明来源,谢谢。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: