2

我搜索了 stackoverflow 并修复了无法找到或打开 pdb 文件的问题。每个人都在说这些只是警告。但代码没有运行我尝试了我能找到的一切。我以管理员身份运行 VS 但它说

'hmd.exe':已加载 'C:\WINDOWS\SysWOW64\ntdll.dll',已加载符号(已删除源信息)。'hmd.exe':已加载 'C:\WINDOWS\SysWOW64\kernel32.dll',已加载符号(已删除源信息)。'hmd.exe':已加载 'C:\WINDOWS\SysWOW64\KernelBase.dll',已加载符号(已删除源信息)。

程序“[6156] hmd.exe: Native”已退出,代码为 -1073741701 (0xc000007b)。

我知道符号已加载,我知道这个问题被问了好几次,但我没有找到任何答案。我搜索了很多,但这些是唯一出现的错误。和消息窗口说退出代码(0xc000007b)

这是代码:

#include<iostream>
#include<opencv2/opencv.hpp>

using namespace std;

using namespace cv;

int main()
{
    //open and read the image
    Mat img = imread("C:\\Users\\Hammad\\Desktop\\as.jpg", CV_LOAD_IMAGE_COLOR);

    if (img.empty())
    {
        cout << "Image cannot be loaded..!!" << endl;
        return -1;
    }

    //change the color image to grayscale image
    cvtColor(img, img, CV_BGR2GRAY);

    //equalize the histogram
    Mat img_hist_equalized;
    equalizeHist(img, img_hist_equalized);

    //create windows
    namedWindow("Original Image", CV_WINDOW_AUTOSIZE);
    namedWindow("Histogram Equalized", CV_WINDOW_AUTOSIZE);

    //show the image
    imshow("Original Image", img);
    imshow("Histogram Equalized",img_hist_equalized);

    waitKey(0); //wait for key press

    destroyAllWindows(); //destroy all open windows
    return 0;
}
4

1 回答 1

1

关键是您的应用程序返回的错误代码:0xc000007b。这通常表示 32 位和 64 位组件之间不匹配。在Dependency Walker中打开您的应用程序以查找位数不匹配的模块。

可以在这个 stackoverflow question中找到对错误代码的更深入的解释。

可以在此博客条目中找到一个 hacky 的“解决方案” 。

于 2013-10-25T17:14:43.570 回答