在QT上配置VTK、ITK

1.安装QT6

参考这个连接:Qt6安装教程

2.安装VS2019

参考这个连接:VS2019安装教程
记得勾选windows SDK

3.配置VTK、ITK

下载第三方库:链接:https://pan.baidu.com/s/1175UPaKVGVyGGKYB34mHFw
提取码:bzro

第三方库解压,根据那边的文件位置,设置环境变量

在这里插入图片描述
在这里插入图片描述

4.配置文件和测试代码

CMakeList.txt

cmake_minimum_required(VERSION 3.5)

project(untitled VERSION 0.1 LANGUAGES CXX)

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

#增加-std=c++11
set(CMAKE_CXX_STANDARD 11)
#增加-std=c++14
set(CMAKE_CXX_STANDARD 14)
#增加-std=c++17
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets Core Gui)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets Core Gui Xml)

find_package(VTK COMPONENTS
    vtkCommonColor
    vtkCommonCore
    vtkCommonMath
    vtkCommonTransforms
    vtkCommonDataModel
    vtkFiltersCore
    vtkFiltersGeneral
    vtkFiltersSources
    vtkFiltersModeling
    vtkInteractionStyle
    vtkRenderingContextOpenGL2
    vtkRenderingCore
    vtkRenderingFreeType
    vtkRenderingGL2PSOpenGL2
    vtkRenderingVolumeOpenGL2
    vtkRenderingOpenGL2
    vtkRenderingAnnotation
    vtkRenderingVolume
    vtkInteractionWidgets
    vtkInteractionImage
    vtkImagingCore
    vtkIOGeometry
    vtkIOImage
    vtkGUISupportQt
    vtkRenderingQt
    vtkImagingStencil
    vtkFiltersHybrid
    vtkImagingColor
    vtkImagingSources
    ImagingGeneral
    IOXML
    ImagingHybrid

)

#添加ITK依赖文件
find_package(ITK REQUIRED)
include_directories(${ITK_INCLUDE_DIRS})
message("ITK dir = ${ITK_INCLUDE_DIRS}")
message("ITK lib = ${ITK_LIBRARIES}")
include(${ITK_USE_FILE})

if (VTK_FOUND)
    message(STATUS "Found VTK version: ${VTK_VERSION}")
else()
    message(FATAL_ERROR "Found VTK ${VTK_FOUND}")
endif()

if (QT_FOUND)
    message(STATUS "Found Qt version: ${QT_VERSION}")
else()
    message(FATAL_ERROR "Found Qt ${QT_FOUND}")
endif()

set(PROJECT_SOURCES
    main.cpp
    mainwindow.h
    mainwindow.cpp
    mainwindow.ui
)

# include_directories(${PROJECT_SOURCE_DIR}/external/include/sqlite)
# link_directories(${PROJECT_SOURCE_DIR}/external/lib)

add_executable(untitled ${PROJECT_SOURCES})
target_link_libraries(untitled PRIVATE ${VTK_LIBRARIES}
                    Qt${QT_VERSION_MAJOR}::Widgets
                    Qt${QT_VERSION_MAJOR}::Core
                    Qt${QT_VERSION_MAJOR}::Gui
                    Qt${QT_VERSION_MAJOR}::Xml
                    ${ITK_LIBRARIES}
                    )

# vtk_module_autoinit is needed
vtk_module_autoinit(
  TARGETS untitled
  MODULES ${VTK_LIBRARIES}
)

if(QT_VERSION_MAJOR EQUAL 6)
    qt_finalize_executable(untitled)
endif()



main.cpp

#include <vtkImageViewer2.h>
#include <vtkNamedColors.h>
#include <vtkNew.h>
#include <vtkPNGReader.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkRenderer.h>

int main(int argc, char* argv[])
{
    vtkNew<vtkNamedColors> colors;

    // Verify input arguments


    // Read the image
    vtkNew<vtkPNGReader> reader;
    reader->SetFileName("D:/QT_FILES/untitled/22.png");

    // Visualize
    vtkNew<vtkImageViewer2> imageViewer;
    imageViewer->SetInputConnection(reader->GetOutputPort());
    vtkNew<vtkRenderWindowInteractor> renderWindowInteractor;
    imageViewer->SetupInteractor(renderWindowInteractor);
    imageViewer->Render();
    imageViewer->GetRenderer()->ResetCamera();
    imageViewer->GetRenderer()->SetBackground(
        colors->GetColor3d("DarkSlateGray").GetData());
    imageViewer->GetRenderWindow()->SetWindowName("PNGReader");
    imageViewer->Render();

    renderWindowInteractor->Start();

    return EXIT_SUCCESS;
}

如果配置成功的话,运行效果如下:
在这里插入图片描述

<think>好的,我现在需要帮助用户在VS Code中配置ITKVTKQT开发环境。首先,我需要回顾一下用户提供的引用内容,看看有没有相关的信息可以直接应用。用户提到了几篇关于配置这些库的文章,但大部分都是在Visual Studio或者QT环境下,而用户现在问的是VS Code。不过,我可以从中提取一些通用的步骤,比如环境变量的设置和编译选项。 首先,VS Code本身是一个编辑器,配置C++项目通常需要设置tasks.json、c_cpp_properties.json和launch.json这些文件。对于ITKVTK这样的库,用户需要确保编译器能够找到头文件和链接库文件。此外,QT可能需要额外的配置,比如qmake或者CMake集成。 从引用[1]和[4]中,我注意到配置环境变量是关键步骤,比如设置PATH指向VTK的bin目录。引用[3]提到了使用CMake进行配置,并且需要注意VTK版本的问题,这可能意味着用户需要正确指定VTK的安装路径。此外,引用[2]提到的设置TRACEDESIGNTIME环境变量虽然主要是针对Visual Studio的调试,但可能对于某些调试场景也有参考价值,不过可能不直接适用于VS Code。 接下来,我需要将这些步骤转化为适用于VS Code的配置。首先,用户需要安装CMake Tools扩展,因为ITKVTK通常使用CMake构建。然后,配置CMakeLists.txt文件来正确找到ITKVTKQT的包。这可能需要设置CMAKE_PREFIX_PATH指向这些库的安装目录。 对于QT,可能需要配置qmake的路径或者使用CMake的FindQt模块。此外,VS Code的C/C++扩展需要配置include路径和库路径,以便智能感知和错误检查正常工作。 调试配置方面,launch.json需要指定可执行文件,并确保运行时环境变量包含必要的DLL路径,比如VTKQT的bin目录。这可能涉及到在launch.json中设置"environment"字段或者使用"preLaunchTask"来设置路径。 需要注意的是,用户可能在编译ITKVTK时遇到版本兼容性问题,如引用[3]提到的CTK默认使用VTK 5.x,而用户自己编译的可能是6.x,这时候需要调整CMake配置。因此,在VS Code中使用CMake时,用户需要确保所有依赖库的版本一致,并在CMakeLists.txt中正确指定路径。 总结步骤应该是:安装必要工具(CMake、编译器、扩展)→ 编译ITK/VTK/QT配置CMakeLists.txt → 设置VS Code的CMake Tools → 配置c_cpp_properties.json的包含路径 → 设置调试环境变量。同时,需要注意版本兼容性和环境变量的正确性,避免链接错误或运行时找不到库的问题。</think>### 如何在 VS Code 中配置 ITKVTKQT开发环境 以下是分步配置方法,结合引用内容和通用开发实践整理: --- #### **1. 安装必要工具** - **编译器**:安装 MSVC(Windows)或 GCC(Linux/macOS) - **CMake**:安装最新版 CMake,并添加到系统 PATH - **VS Code 扩展**: - [C/C++](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools) - [CMake Tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools) - (可选)[Qt Tools](https://marketplace.visualstudio.com/items?itemName=tonka3000.qtvsctools) --- #### **2. 编译 ITK/VTK** 1. **下载源码**:从官方仓库获取 ITK/VTK 源码 2. **使用 CMake 编译**: ```bash mkdir build && cd build cmake -DCMAKE_INSTALL_PREFIX=/path/to/install .. cmake --build . --config Release cmake --install . ``` - **关键配置项**(参考引用[3]): - 确保 VTK 版本与 ITK/CTK 兼容(如 VTK 5.x 或 6.x) - 启用 `Module_ITKVtkGlue`(ITKVTK 交互) - 设置 `CMAKE_PREFIX_PATH` 包含 QT 安装目录 --- #### **3. 配置 VS Code 项目** 1. **CMakeLists.txt**: ```cmake cmake_minimum_required(VERSION 3.20) project(MyProject) find_package(ITK REQUIRED) find_package(VTK REQUIRED) find_package(Qt5 COMPONENTS Core Widgets REQUIRED) include(${ITK_USE_FILE}) include(${VTK_USE_FILE}) add_executable(app main.cpp) target_link_libraries(app PRIVATE ${ITK_LIBRARIES} ${VTK_LIBRARIES} Qt5::Core Qt5::Widgets) ``` 2. **环境变量配置**(引用[1][4]): - 在 `settings.json` 中添加: ```json "cmake.configureEnvironment": { "PATH": "/path/to/vtk/bin;/path/to/qt/bin;${env:PATH}" } ``` - 或在终端中临时设置: ```bash export PATH="/path/to/vtk/bin:/path/to/qt/bin:$PATH" ``` --- #### **4. 配置调试环境** 1. **launch.json**: ```json { "version": "0.2.0", "configurations": [ { "name": "Debug App", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/build/app", "environment": [ {"name": "PATH", "value": "/path/to/vtk/bin;/path/to/qt/bin;${env:PATH}"} ], "cwd": "${workspaceFolder}" } ] } ``` - 确保运行时能访问 VTK/QT 的 DLL 或共享库(参考引用[4]) --- #### **5. 验证配置** 1. 编写测试代码(例如加载 VTK 图像或使用 ITK 滤波) 2. 使用 CMake Tools 配置、构建并运行 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值