2013-10-25 59 views
2

我搜索了stackoverflow并修复了找不到或打开pdb文件。大家一直说这些只是警告。但代码does not运行 我试过我能找到的所有东西。 我跑VS以管理员身份,但它说MS Visual C++ 2010

'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; 
} 
+0

您在编辑中错误输入了错误代码。请解决这个问题。 – IInspectable

回答

1

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

有关错误代码的更深入解释,请参阅this stackoverflow question

可以在this blog entry找到一个hacky'解决方案'。

+0

我试过你的方式。我确信在32位或64位组件中没有任何不匹配。仍然无法治愈:( – user2857829

+0

)如果你在Dependency Walker中加载了你的应用程序,它会告诉你哪些模块具有不匹配的位数,如果这确实是一个破碎的图像头,那么Dependency Walker也会显示出来 – IInspectable

+0

仍然不能工作:( – user2857829