0

LPCTSTRからLPCWSTRへの型定義が見つからないmingw32を使用しています。しかし、同じことがmingw64で以下のように定義されています。

typedef LPCWSTR PCTSTR,LPCTSTR;

しかし、コードworks fine in mingw32に追加してもエラーのないLPCTSTRコードであり、コンパイラオプションをmingw64に変更すると、多くのエラーが発生します。

mingw32のWinnt.h:

typedef TCHAR TBYTE,*PTCH,*PTBYTE;
typedef TCHAR *LPTCH,*PTSTR,*LPTSTR,*LP,*PTCHAR;
typedef const TCHAR *LPCTSTR;

mingw64のwinnt.h:

typedef LPWSTR LPTCH,PTCH;
typedef LPWSTR PTSTR,LPTSTR;
typedef LPCWSTR PCTSTR,LPCTSTR;
typedef LPUWSTR PUTSTR,LPUTSTR;
typedef LPCUWSTR PCUTSTR,LPCUTSTR;
typedef LPWSTR LP;

これを解決する方法は?UNICODEが定義されているmingw32でエラーが発生しないのはなぜですか?

4

1 に答える 1

2

LPCTSTRmingw32では次のように定義されています。

typedef const TCHAR *LPCTSTR;

UNICODE定義されると、にTCHARマップされWCHAR、とLPCTSTR同等になりLPCWSTRます。

UNICODEが定義されていない場合、代わりににTCHARマップされ、と同等になります。CHARLPCTSTRLPCSTR

于 2012-08-16T19:58:34.003 に答える