|
9 / 9 / 1
Регистрация: 04.07.2012
Сообщений: 218
|
|||||||||||
Studio 2022 и C++20 - можно ли компилировать для Win7? И как правильно работать с кодировкой16.01.2025, 16:30. Показов 12442. Ответов 9
Метки нет (Все метки)
Привет, напомните пж, как понизить требования к платформе при разработке в последней версии студии? По умолчанию она добавляет зависимости, которых нет в семёрке, а хотелось бы универсальности. Или последний стандарт уже несовместим со старыми системами?
Почему вопрос возник... Потому что понадобилось мне вызвать однобайтовую версию API. Начал гуглить про преобразования кодировки в локальную и обнаружил, что локальной уже никто не пользуется, а однобайтовые апи теперь поддерживают юникод! И для преобразования std::wstring используют WideCharToMultiByte или вообще вот такой код:
В общем, вопрос.. Как отказаться от этой прелести и настроиться на Win7 в качестве целевой платформы? И как по-простому преобразовать wstring в установленную локаль типа 125х Вот такой код не слишком замороченный? Выглядит как макаронина, тут нет потенциала для упрощения?
0
|
|||||||||||
| 16.01.2025, 16:30 | |
|
Ответы с готовыми решениями:
9
Расширение для Visual Studio 2022 на фреймворке Visual Studio Community Toolkit |
|
Злостный нарушитель
10242 / 5670 / 1260
Регистрация: 12.03.2015
Сообщений: 26,265
|
||
| 16.01.2025, 17:02 | ||
|
0
|
||
|
9 / 9 / 1
Регистрация: 04.07.2012
Сообщений: 218
|
|
| 16.01.2025, 17:15 [ТС] | |
|
Юникодная OutputDebugStringW перехвачена , поэтому мне понадобилась А-версия
0
|
|
|
фрилансер
6444 / 5639 / 1128
Регистрация: 11.10.2019
Сообщений: 15,003
|
|
| 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|