VS2015 64位 VTK7.1 出错处理

来源:互联网 发布:十颗心大数据 编辑:程序博客网 时间:2024/06/06 01:59
平台:


win7 64位 VS2015 VTK7.1




问题1: link error (几乎所有的函数都找不到对应的定义):


原因是库(lib)没有配置好。


解决方案:


1. 项目属性->VC++目录->库目录 添加对应的lib 所在的位置 


如: D:\VTK7.1\VTK-bin\lib\Debug


2. 连接器-> 输入 -> 附加依赖项  添加需要的 lib (或者像我一样所有lib),注意需要打回车


vtkChartsCore-7.1.lib
vtkCommonColor-7.1.lib
vtkCommonComputationalGeometry-7.1.lib
vtkCommonCore-7.1.lib
vtkCommonDataModel-7.1.lib
vtkCommonExecutionModel-7.1.lib
vtkCommonMath-7.1.lib
vtkCommonMisc-7.1.lib
vtkCommonSystem-7.1.lib
vtkCommonTransforms-7.1.lib
vtkDICOMParser-7.1.lib
vtkDomainsChemistry-7.1.lib
vtkDomainsChemistryOpenGL2-7.1.lib
vtkFiltersAMR-7.1.lib
vtkFiltersCore-7.1.lib
vtkFiltersExtraction-7.1.lib
vtkFiltersFlowPaths-7.1.lib
vtkFiltersGeneral-7.1.lib
vtkFiltersGeneric-7.1.lib
vtkFiltersGeometry-7.1.lib
vtkFiltersHybrid-7.1.lib
vtkFiltersHyperTree-7.1.lib
vtkFiltersImaging-7.1.lib
vtkFiltersModeling-7.1.lib
vtkFiltersParallel-7.1.lib
vtkFiltersParallelImaging-7.1.lib
vtkFiltersProgrammable-7.1.lib
vtkFiltersSMP-7.1.lib
vtkFiltersSelection-7.1.lib
vtkFiltersSources-7.1.lib
vtkFiltersStatistics-7.1.lib
vtkFiltersTexture-7.1.lib
vtkFiltersVerdict-7.1.lib
vtkGeovisCore-7.1.lib
vtkIOAMR-7.1.lib
vtkIOCore-7.1.lib
vtkIOEnSight-7.1.lib
vtkIOExodus-7.1.lib
vtkIOExport-7.1.lib
vtkIOGeometry-7.1.lib
vtkIOImage-7.1.lib
vtkIOImport-7.1.lib
vtkIOInfovis-7.1.lib
vtkIOLSDyna-7.1.lib
vtkIOLegacy-7.1.lib
vtkIOMINC-7.1.lib
vtkIOMovie-7.1.lib
vtkIONetCDF-7.1.lib
vtkIOPLY-7.1.lib
vtkIOParallel-7.1.lib
vtkIOParallelXML-7.1.lib
vtkIOSQL-7.1.lib
vtkIOVideo-7.1.lib
vtkIOXML-7.1.lib
vtkIOXMLParser-7.1.lib
vtkImagingColor-7.1.lib
vtkImagingCore-7.1.lib
vtkImagingFourier-7.1.lib
vtkImagingGeneral-7.1.lib
vtkImagingHybrid-7.1.lib
vtkImagingMath-7.1.lib
vtkImagingMorphological-7.1.lib
vtkImagingSources-7.1.lib
vtkImagingStatistics-7.1.lib
vtkImagingStencil-7.1.lib
vtkInfovisCore-7.1.lib
vtkInfovisLayout-7.1.lib
vtkInteractionImage-7.1.lib
vtkInteractionStyle-7.1.lib
vtkInteractionWidgets-7.1.lib
vtkLocalExample-7.1.lib
vtkNetCDF-7.1.lib
vtkNetCDF_cxx-7.1.lib
vtkParallelCore-7.1.lib
vtkRenderingAnnotation-7.1.lib
vtkRenderingContext2D-7.1.lib
vtkRenderingContextOpenGL2-7.1.lib
vtkRenderingCore-7.1.lib
vtkRenderingFreeType-7.1.lib
vtkRenderingImage-7.1.lib
vtkRenderingLOD-7.1.lib
vtkRenderingLabel-7.1.lib
vtkRenderingOpenGL2-7.1.lib
vtkRenderingVolume-7.1.lib
vtkRenderingVolumeOpenGL2-7.1.lib
vtkViewsContext2D-7.1.lib
vtkViewsCore-7.1.lib
vtkViewsInfovis-7.1.lib
vtkalglib-7.1.lib
vtkexoIIc-7.1.lib
vtkexpat-7.1.lib
vtkfreetype-7.1.lib
vtkglew-7.1.lib
vtkhdf5-7.1.lib
vtkhdf5_hl-7.1.lib
vtkjpeg-7.1.lib
vtkjsoncpp-7.1.lib
vtklibxml2-7.1.lib
vtkmetaio-7.1.lib
vtkmyCommon.lib
vtkmyImaging.lib
vtkmyUnsorted.lib
vtkoggtheora-7.1.lib
vtkpng-7.1.lib
vtksqlite-7.1.lib
vtksys-7.1.lib
vtktiff-7.1.lib
vtkverdict-7.1.lib
vtkzlib-7.1.lib


其实也有更简单的方法,连接器->常规->附加库目录,可以添加整个文件夹。(但后来尝试后发现没有用,还是老老实实添加吧)


问题2. 运行时报错: 缺少vtkxxx.dll


解决方法: 是环境变量没有配置好的问题。


在环境变量path中添加对应的dll文件夹, 如我的位置是 D:\VTK7.1\VTK-res\bin


重启VS, 再运行就没有这个问题了。


问题3. LNK2001 无法解析的外部符号 


"void __cdecl vtkRenderingOpenGL_AutoInit_Construct(void)" (?vtkRenderingOpenGL_AutoInit_Construct@@YAXXZ)


QtVTKhelloworld E:\code\VTKproject1\QtVTKhelloworld\test.obj


一开始我以为是我opengl安装的问题,后来回到CMAKE界面里看了一下,


发现有一个 VTK_RENDERING_BACKEND 选项, 里面有opengl 和 opengl2 两个选项,我的配置是opengl2。


再回到我的代码中,发现我的头文件中声明了 VTK_MODULE_INIT(vtkRenderingOpenGL) 


那么果断改为 VTK_MODULE_INIT(vtkRenderingOpenGL2) 即解决该错误。 

原创粉丝点击