"C3861: 'PathFileExists': 識別子が見つかりませんでした" に関する原因と対処

このコンパイルエラーの原因と対処に関して説明します。

スポンサード リンク

Microsoft Visual C++にて以下のソースでコンパイルエラーが発生します:

コンパイルエラーメッセージ:
error C3861: 'PathFileExists': 識別子が見つかりませんでした

ソース(バグ有り):

#include "stdafx.h"
#include "Windows.h"


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

//c:\temp\test.datの存在を確認
int _tmain(int argc, _TCHAR* argv[])
{
if(PathFileExists("c:\\temp\\test.dat"))
{
MessageBox( NULL, "ファイルが見つかりました。", "終了", MB_OK );
}
return 0; }


原因:
PathFileExists関数 に必要なヘッダーがinclude されていません。

対処:
#include "Shlwapi.h"を追加することにより、PathFileExists関数に必要なヘッダファイルを読み込みます。


ソース(修正済み):

#include "stdafx.h"
#include "Windows.h"
#include "Shlwapi.h"

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

//c:\temp\test.datの存在を確認
int _tmain(int argc, _TCHAR* argv[])
{
if(PathFileExists("c:\\temp\\test.dat"))
{
MessageBox( NULL, "ファイルが見つかりました。", "終了", MB_OK );
}
return 0; }

スポンサード リンク



[コンパイルエラーコード、メッセージに戻る]