我是一个vtk初学者。有一个奇怪的问题很长时间困惑。我已经用vs2017编写了一个VTK控制台应用程序。如果我用vstrl + 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;
}
问题是Visual Studio没有在您的应用程序工作目录中查找fruit.png,而是在项目目录中查找。
转到项目/属性/调试/工作目录,并将值更改为您的应用程序工作目录。