如何让 VTK 在 Linux 上与 G++ 一起工作?

问题描述 投票:0回答:1

我正在尝试构建 VTK,我按照 GitHub 构建页面 中的步骤进行操作,但找不到头文件。
它们位于哪里? 还有我可以在编译时传递给 g++ 的 lib 在哪里。

它在

lib
文件夹中生成了一些文件,但我很困惑要与 g++ 一起使用哪些文件。 Here is what's inside the lib folder

我正在运行 Red Hat Enterprise Linux,配备 AMD CPU 和 Nvidia GPU。

到目前为止我已经做到了

mkdir vtk && cd vtk/

git clone https://gitlab.kitware.com/vtk/vtk.git

确保 git repo 已更新

git fetch origin

git rebase origin/master

mkdir VTK_build
cmake ../vtk/

文件夹结构如下:

├── vtk    
│   ├── vtk       <-- This is the git cloned folder  
│   ├── VTK-Build <-- This is where I'm building  
c++ linux cmake g++ vtk
1个回答
0
投票

您应该遵循 Column 示例,它使用 CMake。

  1. 构建 VTK(从
    VTK-Build
    文件夹内)
cmake build .
  1. 从教程文件夹下载示例,或者只是创建一个新文件夹并将 CMakeList.txt 和 CylinderExample.cxx 放入其中,为简洁起见,我将在此处仅显示 CMakeLists.txt,请检查最新文档以获取最新语法。
cmake_minimum_required(VERSION 3.12 FATAL_ERROR)

project(CylinderExample)

find_package(VTK COMPONENTS 
  CommonColor
  CommonCore
  FiltersSources
  InteractionStyle
  RenderingContextOpenGL2
  RenderingCore
  RenderingFreeType
  RenderingGL2PSOpenGL2
  RenderingOpenGL2
)

if (NOT VTK_FOUND)
  message(FATAL_ERROR "CylinderExample: Unable to find the VTK build folder.")
endif()

# Prevent a "command line is too long" failure in Windows.
set(CMAKE_NINJA_FORCE_RESPONSE_FILE "ON" CACHE BOOL "Force Ninja to use response files.")
add_executable(CylinderExample MACOSX_BUNDLE CylinderExample.cxx )
  target_link_libraries(CylinderExample PRIVATE ${VTK_LIBRARIES}
)
# vtk_module_autoinit is needed
vtk_module_autoinit(
  TARGETS CylinderExample
  MODULES ${VTK_LIBRARIES}
)
  1. 使用 cmake 设置您的项目并构建它
mkdir build
cd build
cmake -DVTK_DIR:PATH=path_to_vtk_build_dir ..
cmake build
© www.soinside.com 2019 - 2024. All rights reserved.