Нет проекта Unicode C++, Winui 3 ⇐ C++
-
Гость
Нет проекта Unicode C++, Winui 3
Мы планируем перенести проект MFC на WinUI 3. Проблема, с которой мы столкнулись, заключается в том, что имеющийся у нас проект MFC был разработан в MBCS, а не в UNICODE. Чтобы избежать проблем в новом проекте WinUI 3, мы рассматриваем возможность настройки проекта без UNICODE.
Когда мы создаем новый проект WinUI (как пустой упакованный проект), по умолчанию проект создается для UNICODE. Мы настроили для не-Unicode отмену определения UNICODE и _UNICODE в параметрах проекта. Это нормально, но когда мы компилируем проект, у нас возникает ошибка в одном сгенерированном файле (App.xaml.g.hpp), в одной строке, например:
авто модуль = ::LoadLibrary(L"Microsoft.ui.xaml.dll"); Строке предшествует L"...", что указывает на то, что это строка UNICODE. Поскольку мы настраиваем NO UNICODE, компилятор не может преобразовать из wchar_t в LPCSRT.
Мы не понимаем, если мы настроили препроцессор на отмену определения UNICODE, почему они генерируют код со строкой Unicode. Может быть, нам нужно изменить какую-то другую конфигурацию? или, может быть, WinUI 3 работает только в Unicode?
Мы изменили параметры проекта для отмены определения UNICODE и _UNICODE. Мы ожидали, что сгенерированные файлы .g не будут содержать строк Unicode.
Мы планируем перенести проект MFC на WinUI 3. Проблема, с которой мы столкнулись, заключается в том, что имеющийся у нас проект MFC был разработан в MBCS, а не в UNICODE. Чтобы избежать проблем в новом проекте WinUI 3, мы рассматриваем возможность настройки проекта без UNICODE.
Когда мы создаем новый проект WinUI (как пустой упакованный проект), по умолчанию проект создается для UNICODE. Мы настроили для не-Unicode отмену определения UNICODE и _UNICODE в параметрах проекта. Это нормально, но когда мы компилируем проект, у нас возникает ошибка в одном сгенерированном файле (App.xaml.g.hpp), в одной строке, например:
авто модуль = ::LoadLibrary(L"Microsoft.ui.xaml.dll"); Строке предшествует L"...", что указывает на то, что это строка UNICODE. Поскольку мы настраиваем NO UNICODE, компилятор не может преобразовать из wchar_t в LPCSRT.
Мы не понимаем, если мы настроили препроцессор на отмену определения UNICODE, почему они генерируют код со строкой Unicode. Может быть, нам нужно изменить какую-то другую конфигурацию? или, может быть, WinUI 3 работает только в Unicode?
Мы изменили параметры проекта для отмены определения UNICODE и _UNICODE. Мы ожидали, что сгенерированные файлы .g не будут содержать строк Unicode.
Мобильная версия