|
9 / 9 / 1
Регистрация: 04.07.2012
Сообщений: 218
|
|||||||||||
Studio 2022 и C++20 - можно ли компилировать для Win7? И как правильно работать с кодировкой16.01.2025, 16:30. Показов 12452. Ответов 9
Метки нет (Все метки)
Привет, напомните пж, как понизить требования к платформе при разработке в последней версии студии? По умолчанию она добавляет зависимости, которых нет в семёрке, а хотелось бы универсальности. Или последний стандарт уже несовместим со старыми системами?
Почему вопрос возник... Потому что понадобилось мне вызвать однобайтовую версию API. Начал гуглить про преобразования кодировки в локальную и обнаружил, что локальной уже никто не пользуется, а однобайтовые апи теперь поддерживают юникод! И для преобразования std::wstring используют WideCharToMultiByte или вообще вот такой код:
В общем, вопрос.. Как отказаться от этой прелести и настроиться на Win7 в качестве целевой платформы? И как по-простому преобразовать wstring в установленную локаль типа 125х Вот такой код не слишком замороченный? Выглядит как макаронина, тут нет потенциала для упрощения?
0
|
|||||||||||
| 16.01.2025, 16:30 | |
|
Ответы с готовыми решениями:
9
Расширение для Visual Studio 2022 на фреймворке Visual Studio Community Toolkit |
|
Злостный нарушитель
10249 / 5676 / 1262
Регистрация: 12.03.2015
Сообщений: 26,309
|
||
| 16.01.2025, 17:02 | ||
|
0
|
||
|
9 / 9 / 1
Регистрация: 04.07.2012
Сообщений: 218
|
|
| 16.01.2025, 17:15 [ТС] | |
|
Юникодная OutputDebugStringW перехвачена , поэтому мне понадобилась А-версия
0
|
|
|
фрилансер
6449 / 5644 / 1129
Регистрация: 11.10.2019
Сообщений: 15,023
|
|
| 16.01.2025, 21:08 | |
|
0
|
|
|
Модератор
|
|
| 16.01.2025, 21:28 | |
|
Студия это не только
Для одной из старых версий есть компонент поддержки аж для WinXP (но deprecated). Обязательно ли нужен C++20? Мое мнения для 20 стандартна на 7 винде студия плохой выбор. А для юникода можно воспользоваться другими либами, например icu. По идее 20 стандарт должна поддерживать и 2019 (142), поддерживает ли она 7 не знаю
1
|
|
|
Невнимательный
|
||
| 17.01.2025, 00:12 | ||
-D _WIN32_WINNT=0x0501 для XP.Но в самом коде бывает то что и компилятор поймёт и в .lib найдёт... а по факту для dll какой-то <= vista даже собирая под самой XP , каким-нибудь 2010... bcrypt.dll какую-нибудь притянет, только ради навороченного rand() :) С манифестами тоже муть какая-то , вроде на ucrt собирают... и половина .exe даже запускается и работает в XP, но в каком-то попадается это <manifest ...v2> и всё ,) зря только качал это winlib_mingw-ucrt ))
1
|
||
|
9 / 9 / 1
Регистрация: 04.07.2012
Сообщений: 218
|
||||
| 17.01.2025, 04:20 [ТС] | ||||
Работаю в x64dbg с чужим плагином, он разговорчивый и пишет там всякое в журнал (да и хост тоже), а я в своей библиотеке этот момент отслеживаю.Ладно, я понял, придётся свои хотелки ограничивать)
0
|
||||
|
Невнимательный
|
||||||||||
| 17.01.2025, 05:12 | ||||||||||
|
[QUOTE]Using the Windows Headers ... The following table indicates the common macros you must define to target each major operating system release. (Individual header files may use different macros; therefore, if compilation problems occur, check the header file that contains the definition for conditional definitions.)
Internet Explorer 6.0 _WIN32_IE>=0x0600 Internet Explorer 5.6 _WIN32_IE>=0x0560 ... Но оно и при кросспламформенном задействуется обычно. Для CRT оно там вроде всё predefined... взависмости от версии компилятора может только флаги ещё на них влияют, и кросскомпиляция 32-битным с _WIN64. А насчёт чего-то моложе 2010 я совсем не при делах )) ... ucrt там или msvcrt или на выбор RunTime.
0
|
||||||||||
|
9 / 9 / 1
Регистрация: 04.07.2012
Сообщений: 218
|
|
| 17.01.2025, 05:42 [ТС] | |
|
Так совместимость как раз ломают две вещи. Слишком свежий сишный рантайм (как его выбирать я тоже хз пока, наверно никак) и всякие versioned api, которые xxx-l1-1-1.dll Надо будет разобраться (никогда не пользовался ей), влияет ли эта директива на выбор версии winapi. И насколько старые апи ещё поддерживаются. То есть, если я в 2025 году вдруг объявлю директиву _WIN32_WINNT_WIN7, изменится ли в таблице импорта kakaya-to-hren-l1-1-1.dll на kernel32.dll
0
|
|
|
Невнимательный
|
|||||||
| 17.01.2025, 07:13 | |||||||
|
ucrtbase.dll и ровно 40 штук api-ms-win-*****-l1-1-0.dll ... Запустил сейчас в семёрке какое-то новое AIO/AllInOne-redist таких файлов 65, и только один с еденичкой в конце... возможно раньше чего-то я подсовывал ))... или нет распаковал winlibs-i686-posix-dwarf-gcc-14.2.0-mingw-w64ucrt-12.0.0-r2.7z ... прошлогоднее вроде и работает gcc --helpА в XPx64(0x0502) тчно жаловалось на манифест... на что-то с .v1 такой вроде он полностью
и они работали и там... а зависимости во всех вроде находило и находило в /system32/ ... Получается что .NET==4.0 в XP это не нравится, а .NET==4.6.1 в семёрке нормально заходит. Если не ошибаюсь... ... с 4.6 в win7 тоже какие-то танцы были... на чистую свежую ось ставилось вместе VS какой-то, а на чуть поезженную ни в какую.
0
|
|||||||
| 17.01.2025, 07:13 | |
|
Помогаю со студенческими работами здесь
10
Как правильно установить звуковой драйвер для Win7? Как заставить работать лпт порт для программы Mach3 на Win7 x64? Как правильно компилировать? Как правильно компилировать? Подключение библиотек для C в visual studio 2022 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|