前言
图形图像这块儿,最近因为工作需要接触的相对多了点儿,精力基本上也都投入了这块儿,搞的天天要死要活,毕竟我一个.net的突然来到cxx的世界,也是很苦恼的,也是头一次见到新建工程就需要配置并且解决各种报错,就连vtk的代码搞下来都还要调整,唉,不多说了。
vtk的生成
为啥不做vtk的介绍呢,因为我也不太清楚,还是不多介绍了,总的来说是在opengl的基础上封装的第三方类库吧(可以这样理解),至于为啥不自己从opengl开始呢,因为工作要更好更快可持续进展(能站在巨人的肩膀上就站)。
首先下载vtk的cmake文件,下载地址,至于版本我这里用的是vtk8.2.0。
下载后解压到自己的目录,注意不要有中文目录,如下所示:
然后我们打开Cmake来配置生成工程,生成目录就放在当前目录新建的build下。
这里我用的vs是2015,具体版本根据自己的情况选择。
点击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我就放心了,然后我们来生成工程。
首先肯定要看看Example了。
选后根据需要吧,看是否需要Qt。
这里补充下,其中一个我取消了。
如果需要指定类库生成目录的话,设置如下:
如果你也选了Qt的话,不出意外应该跟我一样,还是红彤彤,没事,我们来干掉他。
这个错误提示的就很明显了,我们也清楚的看到,未设置Qt5的路径,改下我截图中标注的值就可以了。
Ok,我们又看到了done,继续点击Generate吧。
工程创建完成,我们打开工程,工程编译的时候可能会很长很长时间,运行个示例工程看下是否正常运行。
Ok,到此为止,通过cmake生成工程就结束了。
Vtk生成类库
首先,把调试模式切换到Release,然后在我们生成的工程中找到INSTALL,右键->生成,点完之后可以放松一下,一根烟,一杯茶,一张报纸看到挂。
中间会看到好多输出,__ func __未声明。
从vs2013后应该是,这个宏定义已经不支持了,新版用的是__FUNCTION__替代。
我们可以通过全局替换来修复这个问题,也可以在一个通用的头文件中,定义下这个宏,或者直接把声明的方法挪出来。
好了,生成完成后,我们在对应目录看下文件。
到此我们就可以通过新建工程自己引入vtk来完成后续的操作了。
小结
vtk的生成过程稍微麻烦点儿,功能上也稍微麻烦点儿,类也稍微多了点儿,总之就是一句话,学无止境。