winnt.h中的Mingw32中未定义LPCTSTR到LPWSTR的转换

winnt.h中的Mingw32中未定义LPCTSTR到LPWSTR的转换,c,winapi,mingw,mingw32,C,Winapi,Mingw,Mingw32,我使用的是mingw32,在这里我找不到LPCTSTR到LPCWSTR的类型定义。但在mingw64中定义如下 typedef LPCWSTR PCTSTR,LPCTSTR 但是我的代码在mingw32中运行良好,没有任何错误,甚至我在代码中添加了LPCTSTR,如果我将编译器选项更改为mingw64,我会收到很多错误 mingw32中的Winnt.h: typedef TCHAR TBYTE,*PTCH,*PTBYTE; typedef TCHAR *LPTCH,*PTSTR,*LPTSTR,

我使用的是mingw32,在这里我找不到LPCTSTR到LPCWSTR的类型定义。但在mingw64中定义如下

typedef LPCWSTR PCTSTR,LPCTSTR

但是我的代码
在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中没有收到任何错误?

LPCTSTR
在mingw32中定义为:

typedef const TCHAR *LPCTSTR;
定义
UNICODE
时,
TCHAR
映射到
WCHAR
,使
LPCTSTR
等同于
LPCWSTR


当未定义
UNICODE
时,
TCHAR
映射到
CHAR
,使
LPCTSTR
等同于
LPCSTR

为什么您希望在mingw32中出现错误?
LPCTSTR
的定义就在您发布的代码中。我们无法帮助您解决您在mingw64中遇到的错误,除非我们看到您的代码和实际错误…@interjay我的疑问是,如果在mingw64中定义了UNICODE,而在Mingw32中没有相同的typedef,我可以将LPCTSTR typedef视为LPCWSTR。