无法从 wchar_t 构造 wstring
Can't construct a wstring from a wchar_t
我有一个名为 LOGFONT
的结构,我使用了 Windows headers
typedef struct tagLOGFONTW
{ LONG lfHeight;
LONG lfWidth;
LONG lfEscapement;
LONG lfOrientation;
LONG lfWeight;
BYTE lfItalic;
BYTE lfUnderline;
BYTE lfStrikeOut;
BYTE lfCharSet;
BYTE lfOutPrecision;
BYTE lfClipPrecision;
BYTE lfQuality;
BYTE lfPitchAndFamily;
WCHAR lfFaceName[LF_FACESIZE];
} LOGFONTW, *PLOGFONTW, *LPLOGFONTW;
typedef __AW_ALIAS__(LOGFONT), *PLOGFONT, *LPLOGFONT;
我正在尝试从该结构的成员 lfFaceName
构建一个 std::wstring
,如下所示,
std::wstring test(font.lfFaceName);
但是,编译失败,
error: no matching function for call to 'std::__cxx11::basic_string<wchar_t>::basic_string(const CHAR [32])'
我可以通过将以下内容添加到我的 CMakeFile 来解决这个问题,
target_compile_definitions(TargetName PRIVATE -DUNICODE -D_UNICODE)
我有一个名为 LOGFONT
的结构,我使用了 Windows headers
typedef struct tagLOGFONTW
{ LONG lfHeight;
LONG lfWidth;
LONG lfEscapement;
LONG lfOrientation;
LONG lfWeight;
BYTE lfItalic;
BYTE lfUnderline;
BYTE lfStrikeOut;
BYTE lfCharSet;
BYTE lfOutPrecision;
BYTE lfClipPrecision;
BYTE lfQuality;
BYTE lfPitchAndFamily;
WCHAR lfFaceName[LF_FACESIZE];
} LOGFONTW, *PLOGFONTW, *LPLOGFONTW;
typedef __AW_ALIAS__(LOGFONT), *PLOGFONT, *LPLOGFONT;
我正在尝试从该结构的成员 lfFaceName
构建一个 std::wstring
,如下所示,
std::wstring test(font.lfFaceName);
但是,编译失败,
error: no matching function for call to 'std::__cxx11::basic_string<wchar_t>::basic_string(const CHAR [32])'
我可以通过将以下内容添加到我的 CMakeFile 来解决这个问题,
target_compile_definitions(TargetName PRIVATE -DUNICODE -D_UNICODE)