error LNK2019:无法解析的外部符号
写了两个跟halcon相关的函数,但是在调用的时候出现了这个错误:
.obj : error LNK2019: 无法解析的外部符号 "public: int __thiscall CMidCCD::FindLine(class HalconCpp::HObject,class HalconCpp::HTuple &,class HalconCpp::HTuple &,class HalconCpp::HTuple &,class HalconCpp::HTuple &)" (?FindLine@CMidCCD@@QAEHVHObject@HalconCpp@@AAVHTuple@3@111@Z),该符号在函数 "public: int __thiscall CMidCCD::ManualFindLine(double &,double &,double &,double &)" (?ManualFindLine@CMidCCD@@QAEHAAN000@Z) 中被引用
上网查了很多资料但是都看不太懂,以下是源程序:
函数1:
BOOL FindLine(HObject ho_Image,HTuple &Row1,HTuple &Column1,HTuple &Row2,HTuple &Column2)
{
// Local iconic variables
HObject ho_Regions, ho_Edges, ho_SelectedXLD;
HObject ho_UnionContours;
// Local control variables
HTuple hv_WindowHandle;
HTuple hv_Row, hv_Column, hv_Phi, hv_Length1, hv_Length2;
HTuple hv_PointOrder, hv_RowA, hv_RowB, hv_ColumnA, hv_ColumnB;
FastThreshold(ho_Image, &ho_Regions, 0, 90, 1);
//*亚像素边缘提取
EdgesSubPix(ho_Image, &ho_Edges, "canny", 1, 30, 40);
//*连接轮廓
UnionAdjacentContoursXld(ho_Edges, &ho_UnionContours, 10, 1, "attr_keep");
SelectShapeXld(ho_UnionContours, &ho_SelectedXLD, "contlength", "and", 150, 99999);
//*矩形拟合,得到中心坐标,长宽,方向
FitRectangle2ContourXld(ho_SelectedXLD, "regression", -1, 0, 0, 3, 2, &hv_Row,
&hv_Column, &hv_Phi, &hv_Length1, &hv_Length2, &hv_PointOrder);
//*端点计算
Row1= hv_Row+(hv_Length1*(hv_Phi.TupleSin()));
Row2 = hv_Row-(hv_Length1*(hv_Phi.TupleSin()));
Column1 = hv_Column-(hv_Length1*(hv_Phi.TupleCos()));
Column2 = hv_Column+(hv_Length1*(hv_Phi.TupleCos()));
return true;
}
函数2:
BOOL CMidCCD::ManualFindLine(double &RowA,double &ColumnA,double &RowB,double &ColumnB)
{
BOOL m_findLineState;
HTuple lineLeftX=0,lineLeftY=0,lineRightX=0,lineRightY=0;
int i=0;
m_findLineState=FindLine(m_LiveImage,lineLeftX,lineLeftY,lineRightX,lineRightY);
switch(i)
{
case 0:
RowC=lineLeftY[0].D();ColumnC=lineLeftX[0].D();RowD=lineRightY[0].D();ColumnD=lineRightX[0].D();
i++;
break;
case 1:
RowA=lineLeftY[0].D();ColumnA=lineLeftX[0].D();RowB=lineRightY[0].D();ColumnB=lineRightX[0].D();
i--;
break;
}
SetColor(m_HWindowID,"red");//设置显示字体颜色
DispLine(m_HWindowID,lineLeftX,lineLeftY,lineRightX,lineRightY);
//RowA=lineLeftY[0].D(),ColumnA=lineLeftX[0].D(),RowB=lineRightY[0].D(),ColumnB=lineRightX[0].D();
return TRUE;
}
以下是.h文件里函数的声明和相关变量定义
BOOL FindLine(HObject ho_Image,HTuple &Row1,HTuple &Column1,HTuple &Row2,HTuple &Column2);
BOOL ManualFindLine(double &RowA,double &ColumnA,double &RowB,double &ColumnB);
double RowC,RowD,ColumnC,ColumnD;
HObject m_LiveImage;
求各位大神指点一下迷津!我是新手小白,之前没怎么接触过软件,里面涉及到的知识都是现学现用,网上的解决办法看的比较吃力,求解决!!