Преобразование старого проекта Visual Studio C ++ из многобайтового набора символов

Я хотел бы перенести старый проект C ++ MFC из Visual Studio 2005 в более новую версию. В проекте используется многобайтовый набор символов, который, как я знаю, больше не поддерживается в текущей Visual Studio. Поэтому первым шагом должно стать создание проекта, независимого от набора символов. Коллега на работе сказал мне, что я могу сделать это, если я положу макрос _T() вокруг каждого текста.
К сожалению, проект содержит много статического текста, и добавление макросов может занять несколько недель.

Нет ли другого пути?

1

Решение

К сожалению, другого пути нет. Вы можете попробовать автоматизировать редактирование текста с помощью регулярных выражений или некоторого текстового редактора, такого как sed,

Но лично я предпочел бы проверить весь код вручную, чтобы не осталось многобайтового кода, связанного с символами: используйте _tcslen вместо strlen, _TCHAR вместо char, так далее.

Другой вариант, который нужно рассмотреть, это сделать код явно использующим widechars: wcslen вместо strlen, wchar_t вместо char, L"some string" вместо _T("some string"), так далее.

UPDТакже я нашел несколько хороших новостей: «Предупреждение об устаревании [поддержка MFC для MBCS устарела] было удалено из MFC в VC2017, и мы продолжим предоставлять поддержку MBCS в будущих выпусках». (https://blogs.msdn.microsoft.com/vcblog/2013/07/08/mfc-support-for-mbcs-deprecated-in-visual-studio-2013/), так что, вероятно, вы можете просто оставить все как есть.

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]