Өнөөдөр кодоо засч байгаад ийм алдаатай тулгарлаа.
error LNK2001: "struct st_mysql_res * __cdecl fetch_result(class ATL::CStringT<char,class ATL::StrTraitATL<char,class ATL::ChTraitsCRT<char> > >,struct st_mysql *)" (?fetch_result@@YAPAUst_mysql_res@@V?$CStringT@DV?$StrTraitATL@DV?$ChTraitsCRT@D@ATL@@@ATL@@@ATL@@PAUst_mysql@@@Z) 외부 기호를 확인할 수 없습니다.
1>E:\VStudio\projects\test\Debug\test.exe : fatal error LNK1120:
Ямар ч байсан fetch_result нэртэй функц, CString нь функцын параметерийн нэр. Тухайн үедээ шууд алдаагаа ойлголгүй Google-ээр баахан хайлаа.
Эцэст миний хийсэн алдаа бол
MYSQL_RES * fetch_result(CString, MYSQL *);
Анх функцээ зарлахдаа эхний параметерийг CString гэсэн мөртлөө сүүлд функц доторхийг засч эхний параметерийг char* луу сольсон байгаа юм.
MYSQL_RES * fetch_result(CString, MYSQL *); // функц зарласан хэсэг
,,,
MYSQL_RES * fetch_result(char * query, MYSQL * conn)
{
MYSQL_RES * res;
....
....
...
return res;
}
Тэгэхээр энэхүү алдаа нь
1т. Зарлаагүй функцийг дуудсан ториолдолд (минийхтэй адил тохиолдол)
2т. main функц байхгүй тохиолдолд гардаг юм байна.
Ер нь програм бичихдээ маш анхааралтай байхгүй бол анхааралгүйгээсээ болж алдаагаа засах гэж хамаг цагаа зарцуулах хэрэг гарна.
Энэ бичлэг маань С хэлний тухай анхниы бичлэг болж байна. Яг монголоор сураагүй болохоор тайлбарлаж бичихэд зарим хэллэгүүдийг буруу хэрэглэж байж магадгүй. Гэхдээ та бүхэнд програм бичихэд чинь миний блог бага ч гэсэн тус болно гэдэгт итгэлтэй байна.
No comments:
Post a Comment