|
175 / 10 / 1
Регистрация: 05.08.2024
Сообщений: 73
|
||||||
Код из CodeBlocks не работает в Visual Studio 202205.12.2024, 07:12. Показов 4900. Ответов 54
Метки нет (Все метки)
Я все время работал в средах разработки wing и CodeBlocks. В CodeBlocks я работал для C++ и OpenGL проектов. Недавно решил попробовать Visual Studio, но начальный код из CodeBlocks проекта OpenGL в Visual Studio не работает и выдает ошибку:
Ошибка (активно) E0513 значение типа "const char *" нельзя присвоить сущности типа "LPCWSTR" (aka "const WCHAR *") аргумент типа "const char *" несовместим с параметром типа "LPCWSTR" (aka "const WCHAR *") Project1 D:\Мои документы\Desktop\C++\Project1\Project1\ Source.cpp 33 И еще несколько ошибок данного типа. Решил задокументировать строки с ошибками, я понимал, что сам код перестанет работать при пропаже строк, но попытка - не пытка. По итогу ошибка пошла дальше и прошлась по аргументам функции CreateWindowEx(0, "GLSample", "OpenGL Sample", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 256, 256, NULL, NULL, hInstance, NULL); Догадываюсь, что дело в компиляторе, но могут быть и другие тонкости. Как исправить данную ошибку? Вот код:
0
|
||||||
| 05.12.2024, 07:12 | |
|
Ответы с готовыми решениями:
54
Visual Studio 2022 не работает Не запускается код в Visual Studio 2022 Не работает отладка кода C# в Visual Studio 2022 |
| 05.12.2024, 15:12 | |||||||||||
|
В настройках проекта (правой кнопкой по корню проекта) есть переключение между однобайтовой и многобайтовой кодировками. У вас в коде программы используется однобайтовая кодировка, а в настройках проекта выставлена многобайтовая. Переключитесь на однобайтовую, если в программе вы не будете использовать Unicode, то есть, например, текст на русском, а будете использовать только ASCII, то есть, например, английский. Поправьте, кто-нибудь, если я неправильно написал. У меня не установлена VS. Я думаю, что скорее всего Unicode и многобайтовая кодировка - это одно и тоже.
Второй способ, чтобы было независимо он этой настройки:
Второй вариант я проверил, создав Non-QT проект CMake в Qt Creator на языке С: CMakeLists.txt
Кстати, вы, скорее всего, можете открыть CMake проект в VS, но нужно при установке VS выбрать CMake (либо поддержка проектов CMake по умолчанию устанавливается). Не знаю, ставит ли VS по умолчанию CMake. CMake можно скачать здесь: https://cmake.org/download/ Я не пробовал CMake в VS. В Qt Creator можно просто открыть проект CMake, открыв из меню файл CMakeLists.txt Попробуйте Qt Creator. Необязательно ставить весь фреймворк Qt, который займёт 4 ГБ, а можно отдельно скачать архив с Qt Creator: https://github.com/qt-creator/qt-creator/releases Три дня назад вышел новый релиз Qt Creator версии 15.0.0
0
|
|||||||||||
| 05.12.2024, 15:26 | |
|
Занимает Qt Creator 464 MB. Он подхватит при запуске инструменты сборки MSVC, либо MinGW, если MinGW есть в PATH. MinGW можно скачать здесь: https://winlibs.com/ Весит MinGW в зависимости от версии, от 571 MB для MinGW 11.2 и более. Если у вас стационарный компьютер или достаточно мощный ноутбук с большим запасом места, то оставайтесь на VS, либо ставьте и пробуйте CLion и смотрите, что вам больше понравится.
0
|
|
|
175 / 10 / 1
Регистрация: 05.08.2024
Сообщений: 73
|
|
| 05.12.2024, 18:43 [ТС] | |
|
А что имеется ввиду под "корнем проекта"? В интернете пытался найти информацию, но так и не нашел
0
|
|
| 05.12.2024, 19:09 | |
|
Я так назвал проект в решении. Надо кликнуть правой кнопкой мыши по имени проекта, чтобы показать его свойства. Эта там же, где подключаются библиотеки. Я думал, там есть опция "Однобайтовая". Оказывается многобойтовая кодировка и Unicode это не одно и тоже. Если у вас установлена опция "Многобайтовая", то переключите на Unicode или наоборот. Я нагуглил скриншот:
Можно ещё поставить букву L перед строками - тоже должно работать, например: L"text".
0
|
|
| 05.12.2024, 19:18 | ||
|
Очень часто помогает погуглить текст ошибки, например скопируйте в гугл:
0
|
||
| 06.12.2024, 10:52 | |
|
Получается, если три разных варианта:
0
|
|
|
Модератор
|
||
| 06.12.2024, 11:13 | ||
TEXTХотя если не нужен русский язык, то лучше просто отключить в настройках проекта юникод Еще как вариант использовать не макросы, а функции для обычных строк. Например CreateWindowEx это макрос, может раскрываться в CreateWindowExA и CreateWindowExW, первый вариант для простых строк (std::string), а второй для широких (std::wstring)
1
|
||
| 06.12.2024, 12:39 | ||
|
Добавлено через 8 минут Хотя дальше в той теме пишут, что нет, не одно и тоже. Тема там большая, неохота разбираться. Я в WinAPI больше или пока не хочу снова погружаться. Может автору темы или кому-то ещё будет интересно, понять, как лучше.
0
|
||
|
175 / 10 / 1
Регистрация: 05.08.2024
Сообщений: 73
|
|
| 07.12.2024, 11:01 [ТС] | |
|
Здравствуйте! Попытался порыться в Visual Studio 2022. Не смог найти нужные параметры для настройки. Думаю, что пока останусь сидеть в CodeBlocks. В этой среде я уже давно, более менее разобраться могу, в отличии от Visual Studio
0
|
|
| 07.12.2024, 11:53 | |
|
Лучше попытаться решить проблему. Покажите скриншоты, что вы выбираете, чтобы открыть настройки проекта и на каком моменте вы застреваете.
0
|
|
|
175 / 10 / 1
Регистрация: 05.08.2024
Сообщений: 73
|
|
| 07.12.2024, 16:19 [ТС] | |
|
Думаю, что не получится. Для меня visual studio изначально представлял проблему из-за своего объема, что перечеркивает на возможность работать над другими проектами. (хотя можно сохранять проекты на флешке)
0
|
|
| 07.12.2024, 23:57 | |
|
Записал видео, где показал скачать Qt Creator без Qt, как подключить CMake и MinGW. В видео запустил ваш пример из первого сообщения на компиляторе C.
Вес:
2
|
|
| 08.12.2024, 21:05 | |
|
Пришлось заново закачать видео, потому что звук был очень тихий. Я разместил видео в блоге: Подключение CMake и MinGW к Qt Creator для C и C++ без фреймворка Qt. Вдруг что-то ещё захочется переделать, а в блоге можно редактировать спустя время. Слишком тихий звук был опасен тем, что приходится прибавлять на максимум, а когда переходишь на другие видео, то звук на максимуме. Оказывается, в Camtasia Studio легко сделать звук громче в настройках звука и там же есть кнопка, чтобы убрать шумы.
1
|
|
| 10.12.2024, 17:49 | |||||||||||||||||
|
Daniil_G, вы пробовали поместить все строки в макрос TEXT()? Заработало?
main.c
Можно, конечно, докупить жёсткий большей ёмкости, или лучше SSD для системы и VS, или ещё более лучший тип диска, если ноут/комп поддерживает. Меня устраивает Qt Creator для С, С++ и Python, если мне нужно отлаживать с точками останова или посмотреть автодополение кода (в VS это называется Intellisense). А большую часть времени я программирую в редакторе кода Sublime Text 4. Этот редактор требует ресурсов почти столько же, сколько Notepad++, то есть почти ничего. Ноут работает очень тихо. А отсутствие автодополнения мне только нравится, потому что тогда приходится самому написать код, без подсказок, так лучше запоминаются команды. Я собираю и запускаю программы с помощью CMake из консоли. Sublime Text 4 использую для С, С++, Python и JavaScript/HTML/CSS. Если нужно отдалить программу на JavaScript, то либо открываю инструменты разработчика в браузере, либо запускаю VS Code - это тоже редактор кода, которые требует почти в 10 раз больше оперативы, чем Sublime Text 4, но зато в нём можно отлаживать серверную часть на Node.js вместе с клиетской, например, когда серверная и клиентская часть обмениваются сообщениями через вебсокеты.
1
|
|||||||||||||||||
|
175 / 10 / 1
Регистрация: 05.08.2024
Сообщений: 73
|
|
| 14.12.2024, 08:54 [ТС] | |
|
Да, я пытался использовать TEXT и T, но уже появилось множество совсем других ошибок (их было около 28). А Cmake заняться смогу только через несколько месяцев, мне надо изучить до конца OpenGL, и после этого смогу заняться OpenGL
0
|
|
|
397 / 33 / 7
Регистрация: 09.01.2019
Сообщений: 141
|
|
| 14.12.2024, 12:00 | |
Сообщение было отмечено 8Observer8 как решение
Решение
1) Копируешь базовый код из шаблона кодблокса в студию
2) Перед всеми строковыми литералами ставишь префикс L - например, wcex.lpszClassName = L"GLSample", их там всего три 3) В настройках Linker -> System -> subsystem ставишь значение Windows (/SUBSYSTEM:WINDOWS) 4) В настройках Linker -> Input -> Additional Dependencies добавляешь библиотеки opengl32.lib glu32.lib gdi32.lib Профит!
1
|
|
|
397 / 33 / 7
Регистрация: 09.01.2019
Сообщений: 141
|
|
| 14.12.2024, 12:10 | |
Сообщение было отмечено 8Observer8 как решение
Решение
На всякий случай, подробно
2
|
|
| 14.12.2024, 12:10 | |
|
Помогаю со студенческими работами здесь
20
Расширение для Visual Studio 2022 на фреймворке Visual Studio Community Toolkit
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
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
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|