私はmingw-w64を使用しています。私はstrsafe.h
次の警告を含めて取得しています:
warning: inline function 'HRESULT StringCchPrintfA(STRSAFE_LPSTR, size_t, STRS
AFE_LPCSTR, ...)' used but never defined [enabled by default]
私が使用した唯一のフラグは-Wall -DDEBUG -g
. 同じヘッダーでインライン関数を定義する必要があることはわかっていますが、ヘッダーでstrsafe.h
それを明確に確認できるStringCchPrintfA
ため、このエラーが発生する理由がわかりません。また、ヘッダーを自分で見たい場合は、ここに strsafe.h へのリンクがあります。
編集:
次のスニペットをオンラインで見つけました (誰かがより多くの情報を提供できる場合は、コメントで何を言おうとしているのか教えてください):
// Work around lack of strsafe library in mingw-w64, do let their
// strsafe.h provide inlines of StringCchVPrintfA etc, avoid linking
// errors in a debug build.
#ifdef __CRT__NO_INLINE
#undef __CRT__NO_INLINE
#define DID_UNDEFINE__CRT__NO_INLINE
#endif
extern "C" {
#endif
#include <strsafe.h>
#ifdef __MINGW32__
}
#ifdef DID_UNDEFINE__CRT__NO_INLINE
#define __CRT__NO_INLINE
#endif
#endif