フォルダ選択ダイアログを作成しているのですがリンク時にエラーが発生いたします。
void a(void) {
//フォルダ参照ダイアログインスタンス生成
BROWSEINFO bi;
ITEMIDLIST *idl;
LPMALLOC g_pMalloc;
char szTmp[MAX_PATH];
SHGetMalloc(&g_pMalloc);
bi.hwndOwner = NULL;
bi.pidlRoot = NULL;
bi.pszDisplayName = szTmp;
bi.lpszTitle = TEXT("フォルダを選択しろ");
bi.ulFlags = BIF_RETURNONLYFSDIRS;
bi.lpfn = NULL;
bi.lParam = 0;
bi.iImage = 0;
//ダイアログを表示
idl = SHBrowseForFolder(&bi);
if(idl != NULL) {
if(SHGetPathFromIDList(idl,szTmp) != FALSE) {
// MessageBox::Show(NULL,szTmp,TEXT("tips5"),MB_OK);
}
//PIDLを開放する
g_pMalloc->Free(idl);
}
test.obj : error LNK2028: 未解決のトークン (0A00000F) "extern "C" int __stdcall SHGetPathFromIDListA(struct _ITEMIDLIST const *,char *)" (?SHGetPathFromIDListA@@$$J18YGHPBU_ITEMIDLIST@@PAD@Z) が関数 "private: void __clrcall a::Form_Main::a(void)" (?a@Form_Main@test@@$$FA$AAMXXZ) で参照されました。
test.obj : error LNK2028: 未解決のトークン (0A000010) "extern "C" struct _ITEMIDLIST * __stdcall SHBrowseForFolderA(struct _browseinfoA *)" (?SHBrowseForFolderA@@$$J14YGPAU_ITEMIDLIST@@PAU_browseinfoA@@@Z) が関数 "private: void __clrcall test::Form_Main::a(void)" (?a@Form_Main@test@@$$FA$AAMXXZ) で参照されました。
test.obj : error LNK2028: 未解決のトークン (0A000011) "extern "C" long __stdcall SHGetMalloc(struct IMalloc * *)" (?SHGetMalloc@@$$J14YGJPAPAUIMalloc@@@Z) が関数 "private: void __clrcall test::Form_Main::a(void)" (?a@Form_Main@test@@$$FA$AAMXXZ) で参照されました。
test.obj : error LNK2019: 未解決の外部シンボル "extern "C" int __stdcall SHGetPathFromIDListA(struct _ITEMIDLIST const *,char *)" (?SHGetPathFromIDListA@@$$J18YGHPBU_ITEMIDLIST@@PAD@Z) が関数 "private: void __clrcall test::Form_Main::a(void)" (?a@Form_Main@test@@$$FA$AAMXXZ) で参照されました。
test.obj : error LNK2019: 未解決の外部シンボル "extern "C" struct _ITEMIDLIST * __stdcall SHBrowseForFolderA(struct _browseinfoA *)" (?SHBrowseForFolderA@@$$J14YGPAU_ITEMIDLIST@@PAU_browseinfoA@@@Z) が関数 "private: void __clrcall test::Form_Main::a(void)" (?a@Form_Main@test@@$$FA$AAMXXZ) で参照されました。
test.obj : error LNK2019: 未解決の外部シンボル "extern "C" long __stdcall SHGetMalloc(struct IMalloc * *)" (?SHGetMalloc@@$$J14YGJPAPAUIMalloc@@@Z) が関数 "private: void __clrcall test::Form_Main::a(void)" (?a@Form_Main@*****@@$$FA$AAMXXZ) で参照されました。
F:\ツール : fatal error LNK1120: 外部参照 6 が未解決です。
よろしくお願いします。
環境:WindowsXP,VisualStudio2008