请问:怎样解决无法解析的外部符号?
小弟在跟着一篇博客学习人脸识别教程,跟着码完了代码,debug的时候却出现了无法解析的外部符号的错误,怎么也没着落了,请前辈们指点一二。我看着像是vector<pair<string mat>>的错误,附上相关的代码段
vector<pair<string, Mat> > read_imag(const string& dir)
{
CStatDir statdir;
pair<string, Mat> pfi;
vector<pair<string, Mat>> vp;
if (!statdir.SetInitDir(dir.c_str()))
{
cout << "Direct " << dir << " not exist" << endl;
return vp;
}
// int cls_id = dir[dir.length() - 1] - '0';
vector<string> file_vec = statdir.BeginBrowseFilenames("*.*");
int i, s = file_vec.size();
for (i = 0; i < s; i++)
{
pfi.first = file_vec[i];
pfi.second = imread(file_vec[i]);
vp.push_back(pfi);
}
return vp;
}
****************************************************************************************
在main()里的使用: vector<pair<string, Mat> > imgs = read_img(cur_dir);
***********************************************************************************
错误 1 error LNK2019: 无法解析的外部符号 "class std::vector<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class cv::Mat>,class std::allocator<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class cv::Mat> > > __cdecl read_img(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?read_img@@YA?AV?$vector@U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@VMat@cv@@@std@@V?$allocator@U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@VMat@cv@@@std@@@2@@std@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z),该符号在函数 _main 中被引用