C++ 程序不';在visual studio中启动时看不到文件

C++ 程序不';在visual studio中启动时看不到文件,c++,visual-studio-2010,opencv,C++,Visual Studio 2010,Opencv,我有一段代码: int main() { string file = "stuff.jpg"; Mat img = imread(file); if (img.empty()) { printf("EMPTY"); system("PAUSE"); return -1; } imshow("display", img ); waitKey(0); return 0; } 当我在v

我有一段代码:

int main()
{
    string file = "stuff.jpg";

    Mat img = imread(file);
    if (img.empty())
    {
        printf("EMPTY");
        system("PAUSE");
        return -1;
    }
    imshow("display", img );

    waitKey(0);
    return 0;
}

当我在visual中启动这个程序时,我发现img是空的,但是如果我从命令行运行或者只需双击,它就可以正常工作。在可视和命令行中运行时,顶部的路径是相同的。为什么会这样?

从visual studio运行时,工作目录由项目属性控制:

Configuration Properties | Debugging | Working Directory

适当设置该文件名,或指定完整的绝对路径,而不是仅为文件名指定
“stuff.jpg”

从visual studio运行时,工作目录由项目属性控制:

Configuration Properties | Debugging | Working Directory

适当地设置该值,或者为文件名指定完整的绝对路径,而不是只指定
“stuff.jpg”

是否将图像放在调试目录中?是否确定visual从同一位置运行该程序?是的,如果双击启动该程序,它会起作用。似乎visual从调试中获取文件,并在不同的文件夹中执行它。给定绝对路径对两者都有效。是否将映像放在调试目录中?是否确定visual正在同一位置运行该程序?是的,如果双击启动该程序,它会起作用。似乎visual从调试中获取文件,并在不同的文件夹中执行它。给出绝对路径对两者都有效。美元(ProjectDir)在哪里?这不是调试可执行文件所在的位置吗?No.$(ProjectDir)是包含.vcproj文件的文件夹。No-它是项目文件所在的目录。如果编辑属性,将显示带有“宏>>”按钮的对话框。启用宏后,对话框将显示支持的宏名称及其当前的值。美元(ProjectDir)在哪里?这不是调试可执行文件所在的位置吗?No.$(ProjectDir)是包含.vcproj文件的文件夹。No-它是项目文件所在的目录。如果编辑属性,将显示带有“宏>>”按钮的对话框。启用宏后,对话框将显示支持的宏名称及其当前的值。