Mac从0开始构建VTK(C++)项目
Mac安装VTK
brew install cmake
brew install qt
git clone https://gitlab.kitware.com/vtk/vtk.git
cd vtk
mkdir build
cd build
cmake .. -DVTK_USE_QVTK:BOOL=ON -DVTK_QT_VERSION=5 -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_INSTALL_PREFIX=/usr/local -DVTK_USE_GUISUPPORT:BOOL=ON -DVTK_USE_CARBON:BOOL=OFF
make
make install
make install
如果报错:
sudo make install
解决
构建第一个VTK项目
- 创建项目目录:
在你选择的位置创建一个新的目录,作为你的项目根目录。可以使用以下命令在终端中创建:
mkdir MyVTKProject
cd MyVTKProject
- 编写 C++ 代码: 在项目目录中创建你的 C++ 源代码文件,比如
main.cpp
。这个文件将包含你的 VTK 代码。
#include <vtkSmartPointer.h>
#include <vtkCubeSource.h>
#include <vtkPolyDataMapper.h>
#include <vtkActor.h>
#include <vtkRenderer.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
int main() {
// 创建一个立方体源
vtkSmartPointer<vtkCubeSource> cubeSource = vtkSmartPointer<vtkCubeSource>::New();
// 创建一个 PolyDataMapper 将数据映射到图形显示的几何元素上
vtkSmartPointer<vtkPolyDataMapper> mapper = vtkSmartPointer<vtkPolyDataMapper>::New();
mapper->SetInputConnection(cubeSource->GetOutputPort());
// 创建一个 Actor,代表图形元素
vtkSmartPointer<vtkActor> actor = vtkSmartPointer<vtkActor>::New();
actor->SetMapper(mapper);
// 创建渲染器和渲染窗口
vtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New();
vtkSmartPointer<vtkRenderWindow> renderWindow = vtkSmartPointer<vtkRenderWindow>::New();
renderWindow->AddRenderer(renderer);
// 创建交互器,用于响应用户输入
vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor = vtkSmartPointer<vtkRenderWindowInteractor>::New();
renderWindowInteractor->SetRenderWindow(renderWindow);
// 将 Actor 添加到渲染器中
renderer->AddActor(actor);
renderer->SetBackground(0.1, 0.1, 0.1); // 设置背景颜色
// 设置渲染窗口大小
renderWindow->SetSize(800, 600);
// 启动渲染循环
renderWindow->Render();
renderWindowInteractor->Start();
return 0;
}
- 创建 CMakeLists.txt 文件: 在项目根目录中创建一个 CMakeLists.txt 文件,用于定义你的项目和构建过程。以下是一个简单的示例:
cmake_minimum_required(VERSION 3.15)
project(MyVTKProject)
# 设置 C++ 版本
set(CMAKE_CXX_STANDARD 11)
# 查找 VTK
find_package(VTK REQUIRED)
include(${VTK_USE_FILE})
# 添加可执行文件
add_executable(MyVTKProject main.cpp)
# 链接 VTK 库
target_link_libraries(MyVTKProject ${VTK_LIBRARIES})
- 编译项目: 在项目根目录中执行以下命令,使用 CMake 生成构建系统文件,并使用构建系统(如
make
或 Visual Studio)编译你的项目:
mkdir build
cd build
cmake ..
cmake --build .
- 运行项目: 编译完成后,在 build 目录中应该生成了你的可执行文件(比如
MyVTKProject
),你可以运行它:
./MyVTKProject
等一会你的桌面会弹出一个小窗,成功