winnt.h中的Mingw32中未定义LPCTSTR到LPWSTR的转换
我使用的是mingw32,在这里我找不到LPCTSTR到LPCWSTR的类型定义。但在mingw64中定义如下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,
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。