英語で読む

次の方法で共有


"_stat ファミリ" の関数呼び出しでは、Visual Studio 2013、2012、または 2010 の C ランタイム ライブラリ関数のシンボリック ディレクトリ リンクはサポートされていません

この記事は、visual Studio 2013、2012、または 2010 から c ランタイム ライブラリ関数のシンボリック ディレクトリ リンクをサポートしていない _stat-family の関数呼び出しの問題を解決するのに役立ちます。

元の製品バージョン: Visual Studio 2013、Visual Studio 2012、Visual Studio 2010
元の KB 番号: 4531963

現象

ローカル ディレクトリまたはリモート ファイル共有へのシンボリック ディレクトリ リンクを作成します。 これにより、次のように、C:\temp フォルダーを指すリンク C:\linkが作成されます。

mklink /d C:\link C:\temp

アプリケーションが Microsoft Visual Studio 2013、2012、または 2010 を使用してビルドされている場合、 _stat-familyの C ランタイム ライブラリ (CRT) 関数呼び出しを使用すると、予期しない、または誤った結果が発生します。

解決方法

この問題を解決するには、C または C++ プロジェクトを最新バージョンの Microsoft Visual Studio に移行します。 これは、ユニバーサル C ランタイムの _stat-family の C ランタイム関数呼び出しが Visual Studio 2019、2017、および 2015 で使用されるためです。 これらのバージョンでは、シンボリック ディレクトリ リンクがサポートされています。

回避策

この問題を回避するには、次のようにリンクを作成します。

mklink C:\abc C\temp

mkdir C:\abc\link

C:\abc\link パスを持つ_stat-family関数呼び出しを使用する場合、結果は常に正しいです。

詳細

C ランタイム ライブラリ統計関数の詳細については、「 C ランタイム ライブラリ (stat-functions)を参照してください。

適用対象

  • Visual Studio Ultimate 2013
  • Visual Studio Professional 2013
  • Visual Studio Premium 2013
  • Visual Studio Ultimate 2012
  • Visual Studio Professional 2012
  • Visual Studio Premium 2012
  • Visual Studio Ultimate 2010
  • Visual Studio Professional 2010
  • Visual C++ 2010 Express