我是一名vtk初学者。一个长期困扰着一个奇怪的问题。我用vs2017编写了一个VTK控制台应用程序。如果我用ctrl + f5在vs2017中运行它,它将显示以下图片为错误。但是,如果我直接在应用程序工作目录中运行它,它将正常运行。为什么会出现此问题?任何人都可以帮助我,非常感谢。 error picture
我的c ++代码如下:
int main()
{
vtkSmartPointer<vtkPNGReader> reader = vtkSmartPointer<vtkPNGReader>::New();
reader->SetFileName("fruit.png");
vtkSmartPointer<vtkImageViewer2> imageViewer = vtkSmartPointer<vtkImageViewer2>::New();
imageViewer->SetInputConnection(reader->GetOutputPort());
vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
vtkSmartPointer<vtkRenderWindowInteractor>::New();
imageViewer->SetupInteractor(renderWindowInteractor);
imageViewer->Render();
imageViewer->GetRenderer()->ResetCamera();
imageViewer->Render();
vtkSmartPointer<vtkJPEGWriter> writer = vtkSmartPointer<vtkJPEGWriter>::New();
writer->SetFileName("fruit.jpg");
writer->SetInputConnection(reader->GetOutputPort());
writer->Write();
renderWindowInteractor->Start();
return 0;
}
答案 0 :(得分:1)
问题在于Visual Studio不在应用程序工作目录中查找fruit.png,而是在项目目录中查找。
转到Project / Properties / Debugging / Working Directory,然后将其中的值更改为您的应用程序工作目录。