前言
图形图像这块儿,最近因为工作需要接触的相对多了点儿,精力基本上也都投入了这块儿,搞的天天要死要活,毕竟我一个.net的突然来到cxx的世界,也是很苦恼的,也是头一次见到新建工程就需要配置并且解决各种报错,就连vtk的代码搞下来都还要调整,唉,不多说了。
vtk的生成
为啥不做vtk的介绍呢,因为我也不太清楚,还是不多介绍了,总的来说是在opengl的基础上封装的第三方类库吧(可以这样理解),至于为啥不自己从opengl开始呢,因为工作要更好更快可持续进展(能站在巨人的肩膀上就站)。
首先下载vtk的cmake文件,下载地址,至于版本我这里用的是vtk8.2.0。
然后我们打开Cmake来配置生成工程,生成目录就放在当前目录新建的build下。
点击Finish之后就是坐等了。
如果你看到的情况与我的类似,不要惊慌,毕竟红彤彤什么的已经看淡了。
出现这个错误之后,果断去搜下资料什么的,后来是在哪找的解决方法忘了,就是把这个地方调整如下:
if (_vtk_compiletools_targets)
list(REMOVE_DUPLICATES _vtk_compiletools_targets)
export(TARGETS ${_vtk_compiletools_targets}
FILE ${VTK_BINARY_DIR}/VTKCompileToolsConfig.cmake)
add_dependencies(vtkCompileTools ${_vtk_compiletools_targets})
endif()
也就是把156,157行挪到endif中,我们保存后再来Configure。
看到最后一行done我就放心了,然后我们来生成工程。
如果你也选了Qt的话,不出意外应该跟我一样,还是红彤彤,没事,我们来干掉他。
这个错误提示的就很明显了,我们也清楚的看到,未设置Qt5的路径,改下我截图中标注的值就可以了。
工程创建完成,我们打开工程,工程编译的时候可能会很长很长时间,运行个示例工程看下是否正常运行。
Ok,到此为止,通过cmake生成工程就结束了。
Vtk生成类库
首先,把调试模式切换到Release,然后在我们生成的工程中找到INSTALL,右键->生成,点完之后可以放松一下,一根烟,一杯茶,一张报纸看到挂。
从vs2013后应该是,这个宏定义已经不支持了,新版用的是__FUNCTION__替代。
我们可以通过全局替换来修复这个问题,也可以在一个通用的头文件中,定义下这个宏,或者直接把声明的方法挪出来。
到此我们就可以通过新建工程自己引入vtk来完成后续的操作了。
小结
vtk的生成过程稍微麻烦点儿,功能上也稍微麻烦点儿,类也稍微多了点儿,总之就是一句话,学无止境。