国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Visual Studio】在 Windows 上使用 Visual Studio 構(gòu)建 VTK

這篇具有很好參考價(jià)值的文章主要介紹了【Visual Studio】在 Windows 上使用 Visual Studio 構(gòu)建 VTK。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

知識不是單獨(dú)的,一定是成體系的。更多我的個(gè)人總結(jié)和相關(guān)經(jīng)驗(yàn)可查閱這個(gè)專欄:Visual Studio。

編號 內(nèi)容
1 【Visual Studio】在 Windows 上使用 Visual Studio 構(gòu)建 VTK
2 【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 構(gòu)建 VTK
3 【VTK】VTK 顯示小球例子,在 Windows 上使用 Visual Studio 配合 Qt 構(gòu)建 VTK
4 【VTK】官方示例,移植到自己的 Qt 工程,含代碼

這一篇在 Windows 上完成了使用 Visual Studio 構(gòu)建 VTK,還有一篇是結(jié)合 Qt 實(shí)現(xiàn)在 Windows 上使用 Visual Studio 配合 Qt 構(gòu)建 VTK。另一篇文章鏈接為:【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 構(gòu)建 VTK。

1 版本環(huán)境

  • win11
  • visual studio 2022
  • VTK-9.2.6
  • CMake 3.26.3

2 構(gòu)建步驟

建議全程打開 CMake 和 Visual Studio 時(shí)均使用管理員身份,防止不必要的麻煩。

1 準(zhǔn)備文件夾結(jié)構(gòu)

我是在 C 盤創(chuàng)建了一個(gè) VTKFolders 來保存所有需要的文件。

【Visual Studio】在 Windows 上使用 Visual Studio 構(gòu)建 VTK,Visual Studio,windows,ide

2 運(yùn)行 CMake

使用 CMake 生成一個(gè) visual studio 解決方案。首先以管理員身份打開 CMake-GUI。

配置好資源文件夾和 build 文件夾。

【Visual Studio】在 Windows 上使用 Visual Studio 構(gòu)建 VTK,Visual Studio,windows,ide

然后點(diǎn)擊 Configure。會彈出一個(gè)選擇框,選擇適合自己的配置,然后 Finish。

【Visual Studio】在 Windows 上使用 Visual Studio 構(gòu)建 VTK,Visual Studio,windows,ide

我們現(xiàn)在有幾個(gè)選項(xiàng),可以根據(jù)需要打開或關(guān)閉。對于本指南所做的唯一更改是

  • Check the box after CMAKE_CXX_MP_FLAG. 這允許使用多核進(jìn)行構(gòu)建。

【Visual Studio】在 Windows 上使用 Visual Studio 構(gòu)建 VTK,Visual Studio,windows,ide

再點(diǎn)擊一次 Configure 應(yīng)用剛才的更改。

單擊 Generate。這將填充 build 子文件夾。

最后,單擊 Open Project 在 Visual Studio 中打開生成的解決方案。
不過這時(shí)候建議退出一下 Visual Studio,因?yàn)槟J(rèn)打開不是以管理員身份的??梢酝顺鲋匦乱怨芾韱T身份打開,而且已打開過的工程也是有記錄的,直接點(diǎn)擊就行了。

【Visual Studio】在 Windows 上使用 Visual Studio 構(gòu)建 VTK,Visual Studio,windows,ide

3 在 Visual Studio 中構(gòu)建

選擇 Release 和 Win32。

然后選擇 生成 -> 生成 ALL_BUILD。

【Visual Studio】在 Windows 上使用 Visual Studio 構(gòu)建 VTK,Visual Studio,windows,ide

根據(jù)電腦性能不同,花費(fèi)時(shí)間也不同。我電腦用了 3 分鐘,報(bào)告顯示成功 263,有 2 個(gè)失敗。我繼續(xù)往下進(jìn)行了,目前問題不大。

【Visual Studio】在 Windows 上使用 Visual Studio 構(gòu)建 VTK,Visual Studio,windows,ide

另外,也可以再切換 Release 成 Debug 再生成一遍,這樣之后在其他工程的 Debug 環(huán)境也可以使用 VTK。

4 安裝 VTK

為了能夠在其他項(xiàng)目中使用 VTK,它首先需要安裝。
再次打開 CMake。
點(diǎn)擊一下 Configure 看一下配置。
修改 PREFIX 的文件夾。
再次點(diǎn)擊 Configure。
然后點(diǎn)擊 Generate。
最后點(diǎn)擊 Open Project。

【Visual Studio】在 Windows 上使用 Visual Studio 構(gòu)建 VTK,Visual Studio,windows,ide

5 再次在 Visual Studio 中構(gòu)建

這里與第 2 步在 Visual Studio 中構(gòu)建操作完全一樣,不再放過程圖,僅放置一下結(jié)果圖。

下邊是 Release 的生成結(jié)果。

【Visual Studio】在 Windows 上使用 Visual Studio 構(gòu)建 VTK,Visual Studio,windows,ide
下邊是 Debug 的生成結(jié)果。
【Visual Studio】在 Windows 上使用 Visual Studio 構(gòu)建 VTK,Visual Studio,windows,ide

然后我們就可以在文件夾中看到很多 .dll 文件。
放一下我自己的文件夾路徑僅供參考 C:\VTKFolders\VTK-build\bin\Release

6 添加環(huán)境變量

然后就是根據(jù)自己的文件夾路徑,添加環(huán)境變量。
不知道怎么打開系統(tǒng)環(huán)境變量的可以根據(jù)以下提示:
[start -> Edit the system environment variables -> Advanced -> Environment Variables -> Path -> Edit -> New]

【Visual Studio】在 Windows 上使用 Visual Studio 構(gòu)建 VTK,Visual Studio,windows,ide

3 測試是否成功

如果一切順利,那么現(xiàn)在應(yīng)該可以編譯并運(yùn)行 C++ 示例之一了。
我用的例子是 HighlightPickedActor,直接下載解壓到一個(gè)文件夾就行了。如果沒辦法下載也可以去文章末尾復(fù)制一下代碼,保存為指定文件名也行。

【Visual Studio】在 Windows 上使用 Visual Studio 構(gòu)建 VTK,Visual Studio,windows,ide

打開 CMake,并選擇如下圖所示的文件夾配置。

【Visual Studio】在 Windows 上使用 Visual Studio 構(gòu)建 VTK,Visual Studio,windows,ide

點(diǎn)擊 Configure,應(yīng)該能自動找尋到 VTK_DIR 的路徑,如果找不到,那就是環(huán)境變量沒有配置好,重新配置一下就行了。
然后點(diǎn)擊 Generate,Open Project。

【Visual Studio】在 Windows 上使用 Visual Studio 構(gòu)建 VTK,Visual Studio,windows,ide

然后就是得到了一個(gè)可以打開的 Visual Studio 工程。右鍵 HighlightPickedActor 工程,選擇 “設(shè)為啟動項(xiàng)目”。【Visual Studio】在 Windows 上使用 Visual Studio 構(gòu)建 VTK,Visual Studio,windows,ide

然后啟動工程,如果得到如下程序運(yùn)行結(jié)果,那么就證明已經(jīng)安裝成功了。之后在其他工程中調(diào)用即可。

【Visual Studio】在 Windows 上使用 Visual Studio 構(gòu)建 VTK,Visual Studio,windows,ide

文件結(jié)構(gòu)

--- HighlightPickedActor
------ build <--empty
------ CMakeLists.txt
------ HighlightPickedActor.cxx文章來源地址http://www.zghlxwxcb.cn/news/detail-575521.html

CMakeLists.txt 代碼

cmake_minimum_required(VERSION 3.12 FATAL_ERROR)

project(HighlightPickedActor)

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

if (NOT VTK_FOUND)
  message(FATAL_ERROR "HighlightPickedActor: 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(HighlightPickedActor MACOSX_BUNDLE HighlightPickedActor.cxx )
  target_link_libraries(HighlightPickedActor PRIVATE ${VTK_LIBRARIES}
)
# vtk_module_autoinit is needed
vtk_module_autoinit(
  TARGETS HighlightPickedActor
  MODULES ${VTK_LIBRARIES}
)

HighlightPickedActor.cxx 代碼

#include <vtkActor.h>
#include <vtkInteractorStyleTrackballCamera.h>
#include <vtkMinimalStandardRandomSequence.h>
#include <vtkNamedColors.h>
#include <vtkNew.h>
#include <vtkObjectFactory.h>
#include <vtkPolyDataMapper.h>
#include <vtkPropPicker.h>
#include <vtkProperty.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkRenderer.h>
#include <vtkSphereSource.h>

namespace {
// Handle mouse events
class MouseInteractorHighLightActor : public vtkInteractorStyleTrackballCamera
{
public:
  static MouseInteractorHighLightActor* New();
  vtkTypeMacro(MouseInteractorHighLightActor,
               vtkInteractorStyleTrackballCamera);

  MouseInteractorHighLightActor()
  {
    LastPickedActor = NULL;
    LastPickedProperty = vtkProperty::New();
  }
  virtual ~MouseInteractorHighLightActor()
  {
    LastPickedProperty->Delete();
  }
  virtual void OnLeftButtonDown() override
  {
    vtkNew<vtkNamedColors> colors;

    int* clickPos = this->GetInteractor()->GetEventPosition();

    // Pick from this location.
    vtkNew<vtkPropPicker> picker;
    picker->Pick(clickPos[0], clickPos[1], 0, this->GetDefaultRenderer());

    // If we picked something before, reset its property
    if (this->LastPickedActor)
    {
      this->LastPickedActor->GetProperty()->DeepCopy(this->LastPickedProperty);
    }
    this->LastPickedActor = picker->GetActor();
    if (this->LastPickedActor)
    {
      // Save the property of the picked actor so that we can
      // restore it next time
      this->LastPickedProperty->DeepCopy(this->LastPickedActor->GetProperty());
      // Highlight the picked actor by changing its properties
      this->LastPickedActor->GetProperty()->SetColor(
          colors->GetColor3d("Red").GetData());
      this->LastPickedActor->GetProperty()->SetDiffuse(1.0);
      this->LastPickedActor->GetProperty()->SetSpecular(0.0);
      this->LastPickedActor->GetProperty()->EdgeVisibilityOn();
    }

    // Forward events
    vtkInteractorStyleTrackballCamera::OnLeftButtonDown();
  }

private:
  vtkActor* LastPickedActor;
  vtkProperty* LastPickedProperty;
};

vtkStandardNewMacro(MouseInteractorHighLightActor);
} // namespace

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

  int numberOfSpheres = 10;
  if (argc > 1)
  {
    numberOfSpheres = atoi(argv[1]);
  }
  // A renderer and render window
  vtkNew<vtkRenderer> renderer;
  vtkNew<vtkRenderWindow> renderWindow;
  renderWindow->SetSize(640, 480);
  renderWindow->AddRenderer(renderer);
  renderWindow->SetWindowName("HighlightPickedActor");

  // An interactor
  vtkNew<vtkRenderWindowInteractor> renderWindowInteractor;
  renderWindowInteractor->SetRenderWindow(renderWindow);

  // Set the custom type to use for interaction.
  vtkNew<MouseInteractorHighLightActor> style;
  style->SetDefaultRenderer(renderer);

  renderWindowInteractor->SetInteractorStyle(style);

  vtkNew<vtkMinimalStandardRandomSequence> randomSequence;
  randomSequence->SetSeed(8775070);
  for (int i = 0; i < numberOfSpheres; ++i)
  {
    vtkNew<vtkSphereSource> source;
    double x, y, z, radius;
    // random position and radius
    x = randomSequence->GetRangeValue(-5.0, 5.0);
    randomSequence->Next();
    y = randomSequence->GetRangeValue(-5.0, 5.0);
    randomSequence->Next();
    z = randomSequence->GetRangeValue(-5.0, 5.0);
    randomSequence->Next();
    radius = randomSequence->GetRangeValue(0.5, 1.0);
    randomSequence->Next();
    source->SetRadius(radius);
    source->SetCenter(x, y, z);
    source->SetPhiResolution(11);
    source->SetThetaResolution(21);
    vtkNew<vtkPolyDataMapper> mapper;
    mapper->SetInputConnection(source->GetOutputPort());
    vtkNew<vtkActor> actor;
    actor->SetMapper(mapper);
    double r, g, b;
    r = randomSequence->GetRangeValue(0.4, 1.0);
    randomSequence->Next();
    g = randomSequence->GetRangeValue(0.4, 1.0);
    randomSequence->Next();
    b = randomSequence->GetRangeValue(0.4, 1.0);
    randomSequence->Next();
    actor->GetProperty()->SetDiffuseColor(r, g, b);
    actor->GetProperty()->SetDiffuse(0.8);
    actor->GetProperty()->SetSpecular(0.5);
    actor->GetProperty()->SetSpecularColor(
        colors->GetColor3d("White").GetData());
    actor->GetProperty()->SetSpecularPower(30.0);
    renderer->AddActor(actor);
  }

  renderer->SetBackground(colors->GetColor3d("SteelBlue").GetData());

  // Render and interact
  renderWindow->Render();
  renderWindowInteractor->Initialize();
  renderWindowInteractor->Start();

  return EXIT_SUCCESS;
}

Ref.

  1. 在 Windows 上使用 Visual Studio 構(gòu)建 VTK
  2. 八、VTK安裝并運(yùn)行一個(gè)例子
  3. Qt VTK ITK安裝與測試(二)VTK的安裝與測試
  4. 【轉(zhuǎn)】二、VTK用于QT的安裝

到了這里,關(guān)于【Visual Studio】在 Windows 上使用 Visual Studio 構(gòu)建 VTK的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【ONNX】使用 C++ 調(diào)用 ONNX 格式的 PyTorch 深度學(xué)習(xí)模型進(jìn)行預(yù)測(Windows, C++, PyTorch, ONNX, Visual Studio, OpenCV)

    【ONNX】使用 C++ 調(diào)用 ONNX 格式的 PyTorch 深度學(xué)習(xí)模型進(jìn)行預(yù)測(Windows, C++, PyTorch, ONNX, Visual Studio, OpenCV)

    要使用 ONNX 模型進(jìn)行預(yù)測,就需要使用 onnx runtime 首先到 ONNX 官網(wǎng)查詢所需的版本 這里使用的 Windows,同時(shí)裝了 CUDA 下面的鏈接可以進(jìn)入到安裝網(wǎng)址 https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime.Gpu 安裝命令為: 首先打開 Visual Studio 2019 新建一個(gè)用于測試的項(xiàng)目 右鍵點(diǎn)擊項(xiàng)目,可

    2024年02月09日
    瀏覽(21)
  • Windows搭建C++開發(fā)環(huán)境(visual studio 2022)

    Windows搭建C++開發(fā)環(huán)境(visual studio 2022)

    開發(fā)環(huán)境的搭建 開發(fā)工具:vscode、visual studio 2022、visual?studio 2019、2015、2010 .. 安裝步驟(以Windows下visual?studio2022為例): 打開官網(wǎng)地址? Visual Studio 2022 IDE - 適用于軟件開發(fā)人員的編程工具 (microsoft.com) 下載社區(qū)版2022 ? 下載完成后打開?步驟如下 安裝完成后會自動打開出現(xiàn)

    2024年02月06日
    瀏覽(27)
  • Windows系統(tǒng)下Visual studio 2022MPI 環(huán)境配置

    Windows系統(tǒng)下Visual studio 2022MPI 環(huán)境配置

    提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 操作系統(tǒng):win10 工具:Visual Studio 2022 首先前往MPI下載地址:https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi?redirectedfrom=MSDN 進(jìn)入地址后,點(diǎn)擊下方鏈接進(jìn)行下載 分別選中以下兩個(gè)選項(xiàng),分別下載

    2024年02月06日
    瀏覽(154)
  • windows下安裝openssl,配置VS(visual studio)

    windows下安裝openssl,配置VS(visual studio)

    百度網(wǎng)盤連接: 鏈接:https://pan.baidu.com/s/1sZapr2mKmuvzG76Ra7yiTg? 提取碼:2l4l? 注意: vs項(xiàng)目為win32項(xiàng)目則安裝win32的 vs項(xiàng)目為x64項(xiàng)目則安裝win64的 根據(jù)安裝向?qū)нx擇路徑進(jìn)行安裝 ①同意 ?②自行選擇安裝路徑 ③ 選擇動態(tài)庫路徑在安裝目錄下 ④選擇安裝即可 創(chuàng)建桌面向?qū)Э枕?xiàng)目

    2024年02月03日
    瀏覽(24)
  • 為 Microsoft C++ 配置 VS Code在本教程中,您將配置 Visual Studio Code 以在 Windows 上使用 Microsoft Visual C++ 編譯器和調(diào)試器

    為 Microsoft C++ 配置 VS Code在本教程中,您將配置 Visual Studio Code 以在 Windows 上使用 Microsoft Visual C++ 編譯器和調(diào)試器

    在本教程中,您將配置 Visual Studio Code 以在 Windows 上使用 Microsoft Visual C++ 編譯器和調(diào)試器。 配置完 VS Code 后,你將在 VS Code 中編譯和調(diào)試一個(gè)簡單的 Hello World 程序。本教程不教您有關(guān) Microsoft C++ 工具集或 C++ 語言的詳細(xì)信息。對于這些主題,網(wǎng)上有很多很好的資源。 如果您

    2024年02月10日
    瀏覽(44)
  • 【Blender】使用 Microsoft Visual Studio Code 作為外部 IDE 來編寫 Blender 腳本/附加組件

    【Blender】使用 Microsoft Visual Studio Code 作為外部 IDE 來編寫 Blender 腳本/附加組件

    Blender 有自己的內(nèi)置文本編輯器,用于編寫腳本和附加組件,但在外部 IDE 中開發(fā)它們非常方便,為用戶提供更多功能,例如自動完成、語法高亮、與版本控制系統(tǒng)和其他工具的集成使開發(fā)更快更容易。 這些 IDE 之一是 Microsoft 的 Visual Studio Code。這是一個(gè)免費(fèi)的通用環(huán)境 ,支

    2024年02月04日
    瀏覽(40)
  • Qt6 for Windows 環(huán)境搭建(Visual Studio)

    作者: 一去、二三里 個(gè)人微信號: iwaleon 微信公眾號: 高效程序員 在 Windows 中,如果想要開發(fā) Qt 應(yīng)用程序,可以選擇多種方式: Qt Creator + MinGW 編譯器 Qt Creator + MSVC 編譯器 Visual Studio(自帶 MSVC 編譯器) 前兩種方式之前我們已經(jīng)介紹過了,主要利用 Qt Creator 作為 IDE,并配

    2024年02月10日
    瀏覽(24)
  • Visual Studio打包windows服務(wù)并實(shí)現(xiàn)自動注冊與開啟

    Visual Studio打包windows服務(wù)并實(shí)現(xiàn)自動注冊與開啟

    已經(jīng)創(chuàng)建并編寫好了windows服務(wù)程序,且下載了Microsoft Visual Studio Installer Project插件。 創(chuàng)建windows服務(wù)程序的參考鏈接:https://blog.csdn.net/xiketangAndy/article/details/126851864 右鍵windows服務(wù)項(xiàng)目所在的解決方案,搜索setup并創(chuàng)建Setup Project項(xiàng)目。 右鍵Application Folder,選擇Add-項(xiàng)目輸出。選

    2024年02月08日
    瀏覽(35)
  • 最新保姆級教程:Windows 上安裝 Visual Studio(超級詳細(xì))

    最新保姆級教程:Windows 上安裝 Visual Studio(超級詳細(xì))

    歡迎來到我的分享!今天我將向大家介紹如何在 Windows 系統(tǒng)上安裝 Visual Studio,這是一款強(qiáng)大的集成開發(fā)環(huán)境(IDE),用于 C/C++ 開發(fā)以及其他許多語言。 1、首先,訪問 Visual Studio 官方網(wǎng)站,在主頁上找到并點(diǎn)擊“下載 Visual Studio”按鈕。供個(gè)人學(xué)習(xí),下載免費(fèi)的 在下載頁面

    2024年03月21日
    瀏覽(25)
  • 在 Windows 系統(tǒng)上配置 Visual Studio 的 Vulkan 開發(fā)環(huán)境

    在 Windows 系統(tǒng)上配置 Visual Studio 的 Vulkan 開發(fā)環(huán)境

    Vulkan Tutorial https://vulkan-tutorial.com/ Development environment - Windows https://vulkan-tutorial.com/Development_environment https://www.vulkan.org/ Vulkan is a new generation graphics and compute API that provides high-efficiency, cross-platform access to modern graphics processing units (GPUs), which are used in a wide variety of devices from PCs and

    2024年02月09日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包