|
按照网上的例程,我分别用cv和cvcore生成了两个lib库文件并添加到了新建立的.out工程中,在工程中添加了rts64plus.lib和cv.lib,cvcore.lib。并按照网上的pdf教程编辑了一个cpp文件,内容如下:
#include <stdio.h>
#include <stdlib.h>
#include <file.h>
#include "cv.h"
#include "cxcore.h"
int main(int argc,char** argv)
{
FILE *fp = NULL;
fp = fopen("in.rgb", "rb");
if(fp == NULL)
{
printf("open file failed \n");
}
char *inBuf = NULL;
char *outBuf = NULL;
inBuf = (char *)malloc(352*288*3);
outBuf = (char *)malloc(352*288);
if(inBuf == NULL || outBuf == NULL)
{
printf("malloc Buf failed \n");
}
printf("inBuf address 0x%x\n", inBuf);
printf("outBuf address 0x%x\n", outBuf);
fread(inBuf, 352*288*3, 1, fp);
IplImage *image1 = NULL;
image1 = cvCreateImageHeader(cvSize(352,288),IPL_DEPTH_8U,3);
cvSetData(image1,inBuf,352*3);
IplImage *image2 = NULL;
image2 = cvCreateImage(cvSize(352,288),IPL_DEPTH_8U,1);
cvCvtColor(image1, image2, CV_BGR2GRAY);
for (int i=0;i<352*288;i++)
outBuf[i] = (image2->imageDataOrigin)[i];
free(inBuf);
free(outBuf);
fclose(fp);
cvReleaseImageHeader(&image1);
cvReleaseImage(&image2);
return 0;
}
在ccs3.3编译,出现了如下错误:
>> warning: creating .sysmem section with default size of 400 (hex) words.
Use -heap option to change the default size.
undefined first referenced
symbol in file
--------- ----------------
_cvCvtColor F:\\emlicheng\\opencv\\Debug\\opencv.obj
>> error: symbol referencing errors - './Debug/opencv.out' not built
>> Compilation failure
Build Complete,
2 Errors, 3 Warnings, 0 Remarks.
网上查了很多资料,有说是因为lib文件库问题,也有提到是因为cpp文件的内容中存在下划线等错误,哪位大神能帮忙一下,妹子谢过!
|
-
编译出现错误
|