为什么Ctrl + F5不能在Visual C ++调试中与我的vtk代码一起使用

时间:2018-09-16 07:45:50

标签: vtk

我是一名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;
}

1 个答案:

答案 0 :(得分:1)

问题在于Visual Studio不在应用程序工作目录中查找fruit.png,而是在项目目录中查找。

转到Project / Properties / Debugging / Working Directory,然后将其中的值更改为您的应用程序工作目录。