Microsoft Visual Studio C++ 2010 Exp - 编译正常,但它没有运行

Microsoft Visual Studio C++ 2010 Exp - Compile is ok but its not running

本文关键字:运行 编译 Studio Visual C++ 2010 Exp Microsoft      更新时间:2023-10-16

我写一些程序。但是他们不起作用。现在,我有一个基本的程序。编译是可以的。

1>------ Build started: Project: tracker6, Configuration: Debug Win32 ------
1>  Skipping... (no relevant changes detected)
1>  trancker6.cpp
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

但是我点击运行按钮然后:

This program is out of date:
  tracker6 - Debug Win32
Would you like to build it?

我说是的。然后:

Unhandled exception at 0x0321ef3d in tracker6.exe: 0xC0000005: Access violation
reading location 0x00000000.
Break     Continue    Ignore

我说继续,但它不起作用。此错误再次出现。

请帮助我运行此代码:

#include<opencvhighgui.h>
int main( int argc, char** argv ) {
    cvNamedWindow( "Example2", CV_WINDOW_AUTOSIZE );
    CvCapture* capture = cvCreateFileCapture( argv[1] );
    IplImage* frame;
    while(1) {
        frame = cvQueryFrame( capture );
        if( !frame ) break;
        cvShowImage( "Example2", frame );
        char c = cvWaitKey(33);
        if( c == 27 ) break;
    }
    cvReleaseCapture( &capture );
    cvDestroyWindow( "Example2" );
}

问题似乎是您的程序需要命令行参数(这就是argv[1]的意思(,但您尚未提供。所以你的程序崩溃了。

我猜命令行参数应该是文件名。

您可能知道该程序的目的是做什么,那么为什么您认为可以在不提供文件名的情况下运行它?

如果你想让它运行,我会尝试的第一件事是用硬编码的文件名替换对命令行参数的引用。 即替换

CvCapture* capture = cvCreateFileCapture( argv[1] );

CvCapture* capture = cvCreateFileCapture( "somefile" );

编辑:

显然这是一个视频流程序,因此请将"somefile"替换为包含您尝试流式传输的视频的文件的名称。

只需在检查"Mycrosoft Symbol Server"后尝试调试>选项和设置>符号