当前位置: 首页 > wzjs >正文

最全黄页抖音seo优化系统招商

最全黄页,抖音seo优化系统招商,灯饰网站需要这么做,做网站公司怎么样文章目录 1 概述2 环境3 下载VTK源码4 ubuntu编译VTK5 windows编译VTK6 Qt使用VTK(CMake)7 Qt使用VTK(QMake)8 问题记录9 相关链接 更多精彩内容👉内容导航 👈👉VTK开发 👈 1 概述 V…

文章目录

    • 1 概述
    • 2 环境
    • 3 下载VTK源码
    • 4 ubuntu编译VTK
    • 5 windows编译VTK
    • 6 Qt使用VTK(CMake)
    • 7 Qt使用VTK(QMake)
    • 8 问题记录
    • 9 相关链接


更多精彩内容
👉内容导航 👈
👉VTK开发 👈

1 概述

VTK(Visualization Toolkit,可视化工具包)是一个开源的软件系统,主要用于三维计算机图形学的显示和处理。它提供了一个广泛的数据结构和算法集合,用于处理各种类型的数据,并将其可视化为图形图像。VTK可以处理图像、结构化和非结构化数据,并提供多种可视化技术,包括但不限于体绘制、表面绘制、体积渲染、流线绘制等。

VTK的主要特点包括:

  1. 跨平台性:VTK可以在多种操作系统上运行,包括Windows、Mac OS X和Linux等。
  2. 扩展性:VTK的架构设计使得它非常容易扩展。开发者可以根据需要添加新的数据处理和可视化模块。
  3. 强大的数据处理能力:VTK不仅支持基本的数据处理操作,还提供了高级的数据分析工具,如滤波器、几何操作等。
  4. 丰富的可视化功能:VTK支持多种可视化技术,能够生成各种高质量的图形图像。
  5. 与其他软件集成:VTK可以通过多种方式与其他软件集成,比如通过Python、C++等编程语言调用VTK的库函数来实现数据处理和可视化。
  • windows下在使用vs2022编译时一直报错,无法编译,改为使用vs2017编译就可以;
  • 使用vs2022编译时部分dll无法生成,并且安装后没有lib/cmake文件夹。
  • 使用cmake3.32/25版本都会有一些警告信息,改为使用cmake3.22没有。

2 环境

环境说明
系统ubuntu22.04、windows11
cmake3.22、3.25
Qt5.14.2
编译器g++11.4、msvc2017
VTK9.4.1

3 下载VTK源码

  • 进入下载 |VTK地址下载;
  • 或者使用git clone https://github.com/Kitware/VTK.git命令下载。

4 ubuntu编译VTK

  • 使用sudo apt install cmake-gui命令安装cmake;

  • 安装完g++和Qt;

  • 使用cmake-gui打开VTK文件夹中的CMakelists.txt文件夹;

  • 设置CMAKE_INSTALL_PREFIX安装路径;

  • 将VTK_GROUP_ENABLE_QT设置为YES;

  • 将QT5_DIR设置路径/opt/Qt5.14.2/5.14.2/gcc_64/lib/cmake/Qt5,如果使用的是QT6就设置的QT6_DIR;

  • 将VTK_QT_VERSION设置使用的Qt版本;

  • 然后点击【Configure】【Generate】;

  • 打开终端,进入VTK/build文件夹中,执行make -j8开始编译;

  • 编译完成后执行sudo make install安装。

  • 编译完成后安装在/opt/VTK路径下,在VTK/lib文件夹中除了有动态库还有cmake文件夹;

  • 使用Qt打开VTK/Examples/GUI/Qt路径下的工程中的CMakeLists.txt文件;

  • 然后设置VTK路径,如下所示;

    在这里插入图片描述

  • 设置完成之后编译运行;

    在这里插入图片描述

5 windows编译VTK

注意:这里我使用vs2022编译一直无法成功,不知道是环境问题还是什么,最后使用的是VS2017编译成功;

  • 打开CMake3.22;

  • 将VTK文件夹中CMakeLists.txt文件拖进CMake中;

    在这里插入图片描述

  • 点击【Configure】,选择VS2017-64编译器,点击【Finish】;

    在这里插入图片描述

  • 搜索CMAKE_INSTALL_PREFIX项,设置编译后的安装路径,不要放在C盘,C盘需要使用管理员权限;

    在这里插入图片描述

  • 搜索QT,将下列几项改为YES

    在这里插入图片描述

  • 搜索/INCREMENTAL,将/INCREMENTAL改为/INCREMENTAL:NO,否则在vs2017中编译会失败;

    在这里插入图片描述

    改为:

    在这里插入图片描述

  • 然后再点击【Configure】;

  • VTK_QT_VERSION设置为Qt5,如果使用的是Qt6则设置为6;

    在这里插入图片描述

  • 然后再点击【Configure】;

  • 这时候会出现错误弹窗,这是找不到Qt5的cmake路径;

    在这里插入图片描述

  • 如下图所示,设置QT5_DIR路径;

    在这里插入图片描述

  • 然后点击【Configure】【Generate】;

  • 就会在VTK/build文件夹中生成VTK.sln文件,如果只安装了一个版本的VS,之间点击【Open Project】就可以打开;

  • 如果安装了多个版本的VS,则进入VTK/build文件夹,鼠标选中VTK.sln,选择使用vs2017打开;

    在这里插入图片描述

  • 选择【Debug】模式(编译完成后再选择【Release】模式),选择【ALL_BUILD】,生成;

    在这里插入图片描述

  • 编译完成后,没有错误信息,选择【INSTALL】,生成;

    在这里插入图片描述

  • 安装完成后就在设置的E:/VTK路径下如下图所示;

    在这里插入图片描述

    在这里插入图片描述

6 Qt使用VTK(CMake)

  • 创建一个Qt工程,构建工具使用CMake;

  • 在CMakeLists.txt文件中添加下列两端代码,引入CMake;

    find_package(VTKCOMPONENTSCommonCoreGUISupportQtInfovisCoreRenderingFreeTypeViewsQt)
    if (NOT VTK_FOUND)message("Skipping example: ${VTK_NOT_FOUND_MESSAGE}")return ()
    endif ()target_link_libraries(untitled10PRIVATE${VTK_LIBRARIES}"Qt${VTK_QT_VERSION}::Gui""Qt${VTK_QT_VERSION}::Widgets")
    

    在这里插入图片描述

  • 然后编译,如果VTK没添加进环境变量,CMake编译时是找不到VTK路径的;

  • 如下图所示,设置VTK_DIR路径;

    在这里插入图片描述

  • 然后进入UI文件,添加一个OpenGLWidget控件,提升为QVTKRenderWidget或者QVTKOpenGLNativeWidget都可以;

    ![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-

  • 进入main.cpp添加下列代码,否则VTK不能正常显示;

    // 统一 Qt 和 VTK 的 OpenGL 上下文配置,解决因 OpenGL 参数不匹配导致的渲染问题。
    // 通过 QVTKOpenGLNativeWidget::defaultFormat() 获取 VTK 推荐的 OpenGL 配置
    // 用 QSurfaceFormat::setDefaultFormat() 将其设为 Qt 全局默认格式
    QSurfaceFormat::setDefaultFormat(QVTKOpenGLNativeWidget::defaultFormat());
    

    在这里插入图片描述

  • 进入widget.cpp文件,添加下列代码;

    #include "widget.h"
    #include "./ui_widget.h"
    #include "QVTKOpenGLNativeWidget.h"
    #include "vtkConeSource.h"
    #include "vtkPolyDataMapper.h"
    #include <vtkActor.h>
    #include <vtkRenderWindow.h>
    #include <vtkRenderer.h>Widget::Widget(QWidget* parent): QWidget(parent), ui(new Ui::Widget)
    {ui->setupUi(this);
    }Widget::~Widget()
    {delete ui;
    }void Widget::on_pushButton_clicked()
    {vtkNew<vtkConeSource> cone;vtkNew<vtkPolyDataMapper> mapper;vtkNew<vtkActor> actor;vtkNew<vtkRenderer> renderer;mapper->SetInputConnection(cone->GetOutputPort());actor->SetMapper(mapper);renderer->AddActor(actor);renderer->SetBackground(0.2, 0.3, 0.4);ui->openGLWidget->renderWindow()->AddRenderer(renderer);
    }
  • 编译运行后效果如下所示;

    在这里插入图片描述

7 Qt使用VTK(QMake)

  • 创建一个Qmake工程;

  • 打开pro文件,添加下列代码,链接VTK库,下面代码中有3中链接库的方法,任选一种就可以(推荐3)

    #----------------------------------------------------------------方法1:手动链接每一个库文件,比较复杂
    # win32:CONFIG(release, debug|release): LIBS += -LE:/lib/VTK/lib/ -lvtkCommonCore-9.4 -lvtkGUISupportQt-9.4 -lvtkInfovisCore-9.4 -lvtkRenderingFreeType-9.4 -lvtkViewsQt-9.4
    # else:win32:CONFIG(debug, debug|release): LIBS += -LE:/lib/VTK/lib/ -lvtkCommonCore-9.4d -lvtkGUISupportQt-9.4d -lvtkInfovisCore-9.4d -lvtkRenderingFreeType-9.4d -lvtkViewsQt-9.4d#----------------------------------------------------------------方法2:自动链接所有库文件
    # 获取所有库文件名(自动处理路径)
    CONFIG(release, debug|release):{LIB_FILES = $$files(E:/lib/VTK/lib/*-9.4.lib)
    }else:CONFIG(debug, debug|release):{LIB_FILES = $$files(E:/lib/VTK/lib/*-9.4d.lib)
    }
    LIBS += $$join(LIB_FILES, " -L", "-L")  # 添加库路径
    LIBS += $$LIB_FILES  # 直接链接库文件#----------------------------------------------------------------方法3:自动链接所有库文件(标准链接方法)
    LIB_PATH = E:/lib/VTK/lib/  # 指定VTK库路径
    CONFIG(release, debug|release):{LIB_FILES = $$files($$LIB_PATH/*-9.4.lib)   # 自动获取路径下所有-9.4.lib结尾的库文件路径
    }else:CONFIG(debug, debug|release):{LIB_FILES = $$files($$LIB_PATH/*-9.4d.lib)
    }
    LIBS += -L$$LIB_PATH   # 添加链接路径
    for(lib_file, LIB_FILES) {lib_Name = $$basename(lib_file)      # 获取文件名E:/lib/VTK/lib/vtkIOInfovis-9.4d.lib  --> vtkIOInfovis-9.4d.libLIBS += -l$$section(lib_Name, ., 0, 1) # 去除后缀 vtkIOInfovis-9.4d.lib  --> vtkIOInfovis-9.4d,并链接库
    }
    #----------------------------------------------------------------# 添加头文件
    INCLUDEPATH += E:/lib/VTK/include/vtk-9.4
    DEPENDPATH += E:/lib/VTK/include/vtk-9.4

8 问题记录

  • cmake构建出现X11::Xcursor not found; custom cursors will be ignored.

    sudo apt-get install libxcursor-dev
    
  • 错误信息:

    CMake Error at D:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Sql/Qt5SqlConfig. cmake:15 (message):
    The imported target "Qt5::Sql" references the file"D:/Qt/Qt5.14.2/5.14.2/mingw73_64/plugins/sqldrivers/qsqlmysql.dll"
    

    需要编译安装mysql插件才可以解决。

  • 错误信息:vs中编译安装时出现。

    严重性	代码	说明	项目	文件	行	禁止显示状态
    错误	MSB3073	命令“setlocal
    C:\Users\MHF\Downloads\cmake-3.22.4-windows-x86_64\bin\cmake.exe -DBUILD_TYPE=Release -P cmake_install.cmake
    if %errorlevel% neq 0 goto :cmEnd
    :cmEnd
    endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
    :cmErrorLevel
    exit /b %1
    :cmDone
    if %errorlevel% neq 0 goto :VCEnd
    :VCEnd”已退出,代码为 1。	 INSTALL	D:\VS\2017\Common7\IDE\VC\VCTargets\Microsoft.CppCommon. targets	138
    

    安装路径在C盘,需要修改安装路径或者使用管理员打开vs。

  • 错误信息:

    vs2017: fatal error LNK1210: 已超过内部 ILK 大小限制
    

    vs中设置使用链接时使用 /INCREMENTAL:NO

    或者在CMake中将/INCREMENTAL改为/INCREMENTAL:NO。

    在这里插入图片描述

9 相关链接

  • VTK / VTK · GitLab
  • Releases · Kitware/VTK
  • 下载 |VTK
  • 构建 - VTK documentation
  • 构建设置 - VTK documentation
  • VTK:VTK 9.4.20250308 文档
  • VTK示例
http://www.dtcms.com/wzjs/353913.html

相关文章:

  • 网站开发tt0546今天最新新闻摘抄
  • 德钦网站建设seo是什么服务
  • 济南疫情最新消息今日情况优化百度涨
  • 湘潭知名网站建设友情链接查询结果
  • wordpress 招聘网站今日头条收录入口
  • 本人想求做网站广东seo推广外包
  • 建设摩托车125价格百度seo网站在线诊断
  • 网站主页流动图片怎么做商铺营销推广方案
  • 企业公司网站建设seo点击器
  • 网站开发所需人员企业专业搜索引擎优化
  • 网站怎么做右上角消息提醒快速排名优化seo
  • 中国建筑工程承包网优化搜索引擎的方法
  • 注册了域名之后怎么做网站网络营销推广专家
  • 政府网站建设工作疫情最新政策最新消息
  • dede音乐网站百度电脑版网址
  • 深圳微信分销网站建设烟台seo网络推广
  • 查询建筑企业网站广告公司联系方式
  • 网站忧化工作怎么样成都专门做网络推广的公司
  • 电子商务网站开发原则baidu百度
  • 如何在国外网站上做外贸爱站
  • ssp媒体服怎样做网站360优化大师历史版本
  • 运城网站推广百度seo教程视频
  • 男女做爰网站19百度百家
  • wordpress手机中文版上海高端seo公司
  • 网站形式抖音搜索优化
  • 展览设计网站有哪些惠州网站排名提升
  • 网站建设总经理岗位职责百度收录提交入口网址是什么
  • 投资网站建设及推广2023年7 8月十大新闻
  • 招标网站的服务费怎么做分录兰州seo外包公司
  • wordpress网站流量推广什么软件可以长期赚钱