PDA

View Full Version : Error Link & My function



vasilopita
پنج شنبه 18 اسفند 1390, 15:44 عصر
سلام دوستان. می خواستم بدونم چه دلایلی می تونه وجود داشته بشاه که باعث بشه وجود یک تابع باعث بروز خطای هنگام لینک بده؟
این تابع منه :
PathFindExtension()
حتی تو یه پروژه خالی هم امتحانش کردم ،خودش رو تنها، باز هم ارور می داد.
اینم ارورش:


Error 5 fatal error LNK1120: 1 unresolved externals

Error 4 error LNK2019: unresolved external symbol __imp__PathFindExtensionW@4 referenced in function _main 1.obj

ممنون می شم راهنمایی بفرمایید.

mehdi.mousavi
پنج شنبه 18 اسفند 1390, 17:54 عصر
سلام.
پیام فوق نشون میده که پیاده سازی تابه PathFindExtension پیدا نشده (علیرغم اینکه Header File مربوطه Include شده، اما پیاده سازی اصلی تابع که در Shlwapi.lib هستش توسط Linker پیدا نشده). برای رفع مشکل، باید .lib مورد نظر رو به Linker معرفی کنید. این معرفی، میتونه به دو طریق صورت بگیره:


از طریق Setting های پروژه
توسط pragma comment

روش اول که مشخصه (و با یه جستجوی ساده در گوگل پنجره مورد نظر رو در IDE پیدا خواهید کرد). اما در روش دوم، میتونید بدین شکل عمل کنید:


#include "stdafx.h"
#include <windows.h>
#include "Shlwapi.h"

#pragma comment(lib, "Shlwapi.lib")

int _tmain(int argc, _TCHAR* argv[])
{
TCHAR szPath[MAX_PATH];
PathFindExtension(szPath);
return 0;
}


اینجا، من با pragma comment (و پارامتر lib) دارم lib مورد نظر رو به Compiler معرفی می کنم (که پیاده سازی تابع PathFindExtension در اون هستش).


موفق باشید.