我今天购买了 Surface Go 2,并安装了 Visual Studio 2019。我加载了我的项目,该项目在我以前的 PC 上成功编译,也在 VS19 中。
我注意到的第一个问题是 VS 编辑器在我的.cpp
文件中将 Unicode 字符(西里尔文)显示为象形文字:
card->NewTextW(L"Çàãðóçêà", ...
代替:
card->NewTextW(L"Загрузка",
然后我尝试编译该项目,但出现了一百多个错误,所有这些都是关于编译器无法从const wchar/char *
to转换wchar/char *
,虽然,我再说一遍,之前在另一台 PC 上,一切编译成功。几乎所有类型的字符串都会出现此错误,并且对于编码错误的字符串(如上所述,没有)。
错误的具体例子
card->NewTextW(L"Çàãðóçêà", 3, r.right/2-50, r.bottom / 2 - 350 / 2 - 80 + 350 + 60, 10, 20, RGB(0, 0, 0));
card->NewText("eng-string", 4, r.right/2-50, r.bottom / 2 - 350 / 2 - 80 + 350 + 60, 10, 20, RGB(0, 0, 0));
card
指向接口虚拟类对象的指针在哪里ICard
:
class ICard
{
public:
...
virtual void NewTextW(wchar_t *text, int id, int x, int y, int divid, int j, COLORREF col) = 0;
virtual void NewText(char *text, int id, int x, int y, int divid, int j, COLORREF col) = 0;
...
}card*;
没有错误的具体例子
MessageBoxA(NULL, "aga", "uogou", MB_OK);