这是一个示例代码。如果我删除了stdafx.h文件,程序就不会编译。
stdafx.h文件
'#pragma once
'#include "targetver.h"
'#include <stdio.h>
'#include <tchar.h>
Capture.ccp
// Capture.cpp:定义控制台应用程序的入口点。 //
'#include "stdafx.h"
'#include "string.h"
'#include "cv.h"
'#include "highgui.h"
int _tmain(int argc, char ** argv[])
{
CvCapture * pCapture = 0;
IplImage * pVideoFrame = 0;
int i;
char filename[50];
//Initialize vieo capture
pCapture = cvCaptureFromCAM( CV_CAP_ANY );
if( !pCapture )
{
fprintf(stderr, "failed to initialize video capture\n");
return -1;
}
//Capture three video frames and write them as files
for(i=0;i<20;i++)
{
pVideoFrame = cvQueryFrame( pCapture );
if( !pVideoFrame )
{
fprintf(stderr, "failed to get a video frame\n");
}
//Write the captured video frame as an image file
sprintf(filename, "VideoFrame%d.jpg", i+1);
if( !cvSaveImage(filename, pVideoFrame))
{
fprintf(stderr, "faile dto write image file %s\n", filename);
}
//IMPORTANT : Don't release or modify the image returned
//from cvQueryFrame() !
}
//Terminate video capture and free capture resources
cvReleaseCapture( &pCapture );
return 0;
}
stdafx.h文件的用途是什么 - 顺便说一下这个文件是自动生成的。
非常感谢
答案 0 :(得分:2)
编译器Precompiled Header的一部分是加速构建。
答案 1 :(得分:2)
正如peterchen所说,它用于加速构建并添加一些Windows内容。这包括完全视觉工作室特定,如果您希望您的程序是跨平台的,则不应使用,这是Open Cv库的情况(您可以在windows,linux下使用opencv,.. )。
您的编译错误消息是什么?