zoukankan      html  css  js  c++  java
  • VTK使用过程中遇到的问题

    环境:VTK8.90,Win10_x64,Qt5.11.1,Visual studio 14 2015,CMake 3.16.0,

    参考书籍:《VTK图形图像开发进阶》

    项目生成过程中按照书中所载和自身需要选择对应的CMake配置,编译过程中选择正确的编译版本,没有出现错误。(与之前不同,之前在编译较低的VTK版本是总是会出现各种各样在错误,需要花时间去解决)

    还有就是在输出VTK库时一定要记得以管理员身份打开项目并编译INSTALL工程。

    以上比较简单。

    问题:

    创建一个简单的VTK程序

    1.CMakeLists.txt的编写

    在以往低版本的VTK中,INCLUDE()语句是没有问题的,但是到这个版本后会出现问题:

    CMakeLists.txt
    CMake生成工程过程中的问题

    解决方法:

    “必须熟悉新版本的vtk的cmake文件命令,比如老版本的例子中的vtk_module_configinclude(${VTK_USE_FILE})在新版8.90.0中都不适用了。”

    将INCLUDE()语句替换为INCLUDE_DIRECTORIES()语句:

    更新后的CMakeLists.txt

    然后CMake正常生成。

    2.程序编译没问题,运行过程中出现的错误

    首先是.dll文件寻找不到的问题,这个问题很好解决,按书中所讲的方法或者直接在系统环境变量path中添加VTK的dll库目录都可以解决。

    再者是程序运行时error:no override found for 'vtkRenderWindow'的错误。

     参考:https://blog.csdn.net/q1302182594/article/details/45270891

                https://blog.csdn.net/qq_15191677/article/details/68946807

                https://blog.csdn.net/imsaws/article/details/15500903

    我的选择是

    添加头文件和宏定义:

    #include <vtkAutoInit.h>
    VTK_MODULE_INIT(vtkRenderingOpenGL2);
    源文件

     在VTK的编译过程中貌似使用到的是OpenGL2,所以要使用vtkRenderingOpenGL2。

  • 相关阅读:
    算法演示工具
    1198:逆波兰表达式
    1315:【例4.5】集合的划分
    1192:放苹果
    1191:流感传染
    1354括弧匹配检验
    1331【例1-2】后缀表达式的值
    1307高精度乘法
    1162字符串逆序
    1161转进制
  • 原文地址:https://www.cnblogs.com/oneDongHua/p/14263981.html
Copyright © 2011-2022 走看看