• vtk学习记录(一)——vtk工程配置与生成


    前言

    图形图像这块儿,最近因为工作需要接触的相对多了点儿,精力基本上也都投入了这块儿,搞的天天要死要活,毕竟我一个.net的突然来到cxx的世界,也是很苦恼的,也是头一次见到新建工程就需要配置并且解决各种报错,就连vtk的代码搞下来都还要调整,唉,不多说了。

    vtk的生成

    为啥不做vtk的介绍呢,因为我也不太清楚,还是不多介绍了,总的来说是在opengl的基础上封装的第三方类库吧(可以这样理解),至于为啥不自己从opengl开始呢,因为工作要更好更快可持续进展(能站在巨人的肩膀上就站)。

    首先下载vtk的cmake文件,下载地址,至于版本我这里用的是vtk8.2.0

    下载后解压到自己的目录,注意不要有中文目录,如下所示:
    vtk

    然后我们打开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的生成过程稍微麻烦点儿,功能上也稍微麻烦点儿,类也稍微多了点儿,总之就是一句话,学无止境

  • 相关阅读:
    IntelliJ Idea 常用快捷键列表
    IPv6地址存储
    一文看懂java的IO流
    AchartEngine的柱状图属性设置
    绘制图表改变其大小
    在Android上用AChartEngine轻松绘制图表
    Android 图表绘制 achartengine 示例解析
    封装一个类搞定90%安卓客户端与服务器端交互
    安卓图表引擎AChartEngine(三)
    AchartEngine 的学习
  • 原文地址:https://www.cnblogs.com/AprilBlank/p/12101547.html
Copyright © 2020-2023  润新知