时间:2022.12.14
作者:陌尘
源码:ParaView-5.11.0
工具:Visual Studio 2017CMake 3.24.1 x64
依赖:Qt 5.12.11Python 3.10.8Microsoft MPI v10.1.2
平台:Windows 10 21H2
Refer:Building ParaView

0. Preface

本文仅供参考,源码以及编译模块、工具、依赖等可根据个人使用情况调整。

1. 编译准备

paraview_source
(源码须在 ParaView 官网下载,GitHub 上 Tag 的源码中无 VTK 模块)

  • 下载并安装 Qt:Qt 5.12.11
  • 下载并安装 Python:Python 3.10.8
  • 下载并安装 MPI:Microsoft MPI v10.1.2
    mpi_install
  • 编译路径配置
    新建 src、build、install 文件夹,复制源码文件夹所有文件至 src 文件夹,本文路径配置如下:
    F:/Resource/Paraview/Paraview-5.11.0/src:源码文件夹
    F:/Resource/Paraview/Paraview-5.11.0/build:构建文件夹
    F:/Resource/Paraview/Paraview-5.11.0/install:安装文件夹

2. CMake配置

  • 在 CMake-gui 中选择源码路径,选择编译工程路径
    cmake_path

  • 点击【Configure】,选择项目生成工具为 “Visual Sdudio 15 2017”,选择平台为 “x64”,等待配置完成 “Configuring done”
    cmake_config

  • 【CMAKE_INSTALL_PREFIX】,这个是编译完成之后库的输出路径,默认为存在C盘,如果没有以管理员身份启动 CMake-gui,可能会生成失败。 本文设置为 “F:/Resource/Paraview/Paraview-5.11.0/install”。

  • 【PARAVIEW_BUILD_ALL_MODULES】,编译所有模块,勾选

  • 【PARAVIEW_USE_QT】,Qt模块,勾选,根据个人使用情况也可勾选【PARAVIEW_USE_QTHELP】、【PARAVIEW_USE_QTWEBENGINE】、【PARAVIEW_USE_QTWEBENGINE】,本文勾选。安装多个 Qt 版本的情况下需注意 Qt 路径是否正确
    qt_path

  • 【PARAVIEW_USE_PYTHON】,Python 模块,勾选,安装多个 Python 版本的情况下需注意 Python 路径是否正确
    python_path

  • 【PARAVIEW_USE_MPI】,MPI模块,勾选
    mpi_path

  • 【VTK_SMP_IMPLEMENTATION_TYPE】,VTK SMP 实现类型,与 vtkSMPTools 进行了线程化,使用 TBB 或其他非顺序类型可以显著提高性能。可以使用默认选择,本文选择为 “TBB”,需要单独安装 oneTBB
    在这里插入图片描述

  • 【PARAVIEW_ENABLE_EXAMPLES】,编译 ParaView 的例子,可不选,本文勾选

  • 【PARAVIEW_BUILD_DEVELOPER_DOCUMENTATION】,ParaView 文档,可不选,本文勾选,编译需要安装 Doxygen,python 文档需要安装 Sphinx,在安装有 Python 的环境直接在 CMD 中执行命令 pip install -U sphinxpy -3 -m pip install sphinx 即可安装

  • 再次【Configure】,等待配置完成“Configuring done”

  • 点击【Generate】,等待生成完成“Generating done”

  • 点击【Open Project】,在Visual Studio 2017中打开项目

3. VS编译

  • 更改解决方案配置为 “Release”,更改解决方案平台为 “x64”
  • 右键项目 “ALL_BUILD”,在右键菜单中点击 “生成”,等待生成完成
  • 右键项目 “INSTALL”,在右键菜单中点击 “生成”,等待生成完成,即可将编译好的库复制到 【CMAKE_INSTALL_PREFIX】指定的路径中
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐