我的程序要检索一个目录,如果有文件就继续往下读取和分析文件,没有就返回,定义了一个检测函数:
bool IsExitFile( CString& strDirectory) //判断目标目录下是否有文件
{
CFileFind Finder;
CString strTempDirectory = strDirectory +"\\" +"*.*";
BOOL IsFinded = Finder.FindFile(strTempDirectory);
if( IsFinded )
return true;
else
return false;
}
然后在主线程函数中调用
void CJKVView::AnaylseFile()
{
if( IsExitFile( m_strFormat)) //m_strFormat参数是传入用户设置的文件存放路径
{
fileinfo afile;
resortfiles(afile); //读取原始文件信息
ana(afile); ////生成,打开和读取生成的文件
CaclTime2(afile); //整理已经分析的文件
}
else
return;
}
编译的时候出错,说有无法解析的命令:
JKV error LNK2019: 无法解析的外部符号 "public: bool __thiscall CJKVView::IsExitFile(class ATL::CStringT<char,class StrTraitMFC<char,class ATL::ChTraitsCRT<char> > > &)" (?IsExitFile@CJKVView@@QAE_NAAV?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@@Z) ,该符号在函数 "public: void __thiscall CJKVView::AnaylseFile(void)" (?AnaylseFile@CJKVView@@QAEXXZ) 中被引用
JKV fatal error LNK1120: 1 个无法解析的外部命令
我在主函数中把IsExitFile()函数的调用去掉,不使用 if( IsExitFile( m_strFormat))这个判断过程,则编译顺利通过,
不知道是哪里出错了,请高人指点,不胜感激!
用CFileFind判断一个目录下是否有文件的问题