C++ 使用Visual Studio创建新的VTK项目
我试图创建一个新的C++项目,它使用VisualStudio.V/P>中的VTK。 我按照说明使用CMake在Windows上下载、访问和构建VTK,看起来一切正常。然后,我尝试创建一个包含VTK功能和可视化的新项目,但在无法打开任何VTK头文件时会产生错误(这可能是由于项目属性中存在其他依赖项,但我不确定要更改或更新什么才能使其正常工作) 有人知道如何解决这个问题吗?(目前,我正在尝试使用以下代码查看一个简单的多维数据集):C++ 使用Visual Studio创建新的VTK项目,c++,windows,visual-studio-2013,cmake,vtk,C++,Windows,Visual Studio 2013,Cmake,Vtk,我试图创建一个新的C++项目,它使用VisualStudio.V/P>中的VTK。 我按照说明使用CMake在Windows上下载、访问和构建VTK,看起来一切正常。然后,我尝试创建一个包含VTK功能和可视化的新项目,但在无法打开任何VTK头文件时会产生错误(这可能是由于项目属性中存在其他依赖项,但我不确定要更改或更新什么才能使其正常工作) 有人知道如何解决这个问题吗?(目前,我正在尝试使用以下代码查看一个简单的多维数据集): 您可以发布为应用程序创建的CMakeLists.txt吗?好的。行。
您可以发布为应用程序创建的
CMakeLists.txt
吗?好的。行。我对此也有问题,因为当我尝试配置它时,我得到一个“找不到由“VTK”提供的具有以下任何名称的包配置文件:VTKConfig.cmake VTK config.cmake”在CMake gui
中,当您配置应用程序时,将VTK_BIN文件夹指向您用于VTK的构建文件夹。我的CMake基于我在网上看到的一个示例和一个视频,但只是更改了应用程序的名称(),所以我不明白为什么它不工作,我想我已经找到了它。谢谢你的帮助
#include <vtkSmartPointer.h>
#include <vtkActor.h>
#include <vtkCubeSource.h>
#include <vtkPolyData.h>
#include <vtkPolyDataMapper.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkRenderer.h>
#include <stdlib.h>
#include <stdio.h>
#include <iostream>
#include <string>
#include <sstream>
#include <fstream>
#include <cmath>
#include <algorithm>
int main(int t) {
if (t==1) {
vtkSmartPointer<vtkCubeSource> cubeSource =
vtkSmartPointer<vtkCubeSource>::New();
// Create a mapper and actor.
vtkSmartPointer<vtkPolyDataMapper> mapper =
vtkSmartPointer<vtkPolyDataMapper>::New();
mapper->SetInputConnection(cubeSource->GetOutputPort());
vtkSmartPointer<vtkActor> actor =
vtkSmartPointer<vtkActor>::New();
actor->SetMapper(mapper);
// Create a renderer, render window, and interactor
vtkSmartPointer<vtkRenderer> renderer =
vtkSmartPointer<vtkRenderer>::New();
vtkSmartPointer<vtkRenderWindow> renderWindow =
vtkSmartPointer<vtkRenderWindow>::New();
renderWindow->AddRenderer(renderer);
vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
vtkSmartPointer<vtkRenderWindowInteractor>::New();
renderWindowInteractor->SetRenderWindow(renderWindow);
// Add the actors to the scene
renderer->AddActor(actor);
renderer->SetBackground(.3, .2, .1);
// Render and interact
renderWindow->Render();
renderWindowInteractor->Start();
actor->Delete();
mapper->Delete();
renderer->Delete();
renderWindow->Delete();
renderWindowInteractor->Delete();
}
return 0;
}
cmake_minimum_required(VERSION 2.8)
PROJECT(karman)
find_package(VTK REQUIRED)
include(${VTK_USE_FILE})
add_executable(karman MACOSX_BUNDLE karman)
if(VTK_LIBRARIES)
target_link_libraries(karman ${VTK_LIBRARIES})
else()
target_link_libraries(karman vtkHybrid vtkWidgets)
endif()