|
175 / 10 / 1
Регистрация: 05.08.2024
Сообщений: 73
|
||||||
Код из CodeBlocks не работает в Visual Studio 202205.12.2024, 07:12. Показов 6277. Ответов 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 |
| 14.12.2024, 15:19 | ||||||||||||||||||||||||||||
Если нужен С++, то в строке project(my-c-project LANGUAGES C) нужно заменить "C" на "CXX", а лучше добавить CXX вот так, чтобы подключать Си-файлы, например, GLAD:
Вы можете собрать свой пример из первого сообщения из консоли с помощью CMake. Раз у вас установлен Code::Blocks, значит у вас есть MinGW. Путь к bin должен быть в переменной окружения Path, чтобы из консоли запускалось. А так же должен быть установлен CMake. Путь к bin тоже должен быть в Path. Код можно набирать в Notepad++ или другом легковесном редакторе кода. Я использую Sublime Text 4. У вас есть пример, где хранятся два файла: main.c и CMakeLists.txt. Вы открываете консоль в папке проекта и копируйте команду:
После конфигурирования нужно зайти в папку "dist" командой:
0
|
||||||||||||||||||||||||||||
| 14.12.2024, 16:31 | |
|
0
|
|
|
175 / 10 / 1
Регистрация: 05.08.2024
Сообщений: 73
|
|
| 14.12.2024, 18:39 [ТС] | |
|
Хорошо, спасибо, попробую
0
|
|
|
401 / 36 / 8
Регистрация: 09.01.2019
Сообщений: 148
|
|
| 17.12.2024, 14:36 | |
|
Daniil_G, Вы проверили вариант, что я написал? Ваша тема создана с вопросом запуска шаблонного кода из кодблокса в visual studio, решение я приложил. Если оно отвечает на Ваш вопрос, пометьте тему решённой, а то намусорили в теме уже, не приложив ни одного решения
1
|
|
| 17.12.2024, 18:31 | ||||
|
1
|
||||
| 17.12.2024, 19:22 | ||||
1
|
||||
|
401 / 36 / 8
Регистрация: 09.01.2019
Сообщений: 148
|
|||
| 17.12.2024, 20:54 | |||
|
8Observer8,
Т.к. автор работает с CodeBlocks и допотопным OpenGL, с весьма высокой вероятностью он взял за основу туториал с канала Begin-End на youtube, а там с первого же видео существует эта проблема, с которой он и пришёл сюда. Откуда я знаю? В личной переписке спрашивал решение у автора канала, в итоге нашёл его сам, ещё 4 года назад. Вот, собственно, и всё.
1
|
|||
| 17.12.2024, 22:58 | ||
|
1
|
||
|
401 / 36 / 8
Регистрация: 09.01.2019
Сообщений: 148
|
|||
| 18.12.2024, 10:44 | |||
|
1) взять VS Code с плагином C/C++ Extension Pack, где включены также CMake Tools (подробно на форуме писал Zayats80880 в одной из тем по SFML). 2) установить CMake 3) установить пак w64-devkit (просто распаковать последний релиз с гитхаба и указать переменную в PATH папку bin в корне пака) Гарантирую, работаю с этим набором лично, взлетит на самом дохлом ПК + человек получит отличный редактор для работы с кодом и инструментарий GNU Tools с современными компиляторами gcc/g++, всё это без проблем и вообще каких-либо изменений переносится в линукс
1
|
|||
| 18.12.2024, 12:15 | ||||
|
Если сравнить VSCode и Qt Creator по потреблению оперативной памяти, то Qt Creator требует 187 MB, а VSCode (без плагинов) требует от 700 MB для проектов на JS/HTML/CSS. Причём потребление растёт и до 900 MB и больше и даже переваливает на 1 GB при отладке по шагам. Для кодинга без автозавершения кода, то мне больше всего нравится Sublime Text 4 и Notepad++ - тоже неплохо, чем VSCode и Qt Creator. Notepad++ потребляет 127 MB оперативы, а Sublime Text 4 потребляет тоже примерно столько же. Сейчас у меня открыто 5 проектов в ST и это требует 254 MB. Я думаю, что у автора темы ноутбук гораздо слабее, чем у меня, потому что он писал в другой теме, что современная версия Blender у него работает, выдавая 6-12 FPS. А у меня Blender работает без тормозов, но греется, как чайник и очень сильно шумит. Поэтому в той теме я посоветовал Blender 2.67, которым сам пользуюсь. Я экспериментальным путём нашёл, что даже следующая версия 2.68 уже заставляет ноут немного шуметь. Но 2.67 большее чем достаточна для меня для программистской графики, самообучения, анимаций, кодинга на Blender Python API и для простого редактирования моделей, анимаций, UV-развёртки и т.д. Сейчас у меня установлен VSCode. Я его запускаю очень редко. Мне достаточно Sublime Text 4. Автодозавершение кода меня только отвлекает - мне комфортнее без него, чтобы не забывать названия классов и методов библиотек. VSCode - на случай отладки JS-проектов по шагам. VSCode можно одновременно ставить точки останова на серверной части на Node.js и на клиентской части, чтобы отлаживать клиент-серверные программы на веб-сокетах. Если отлаживать JS не надо, то использую Sublime Text 4, а клиентскую часть можно отлаживать в браузере. Добавлено через 17 минут
1
|
||||
|
Модератор
|
|||||||||||
| 18.12.2024, 12:30 | |||||||||||
|
Тема немного ушла в сторону. Почему все проигнорировали мой совет использовать не макро а функции?
Например функция из темы CreateWindowEx это не функция а макрос, вот его код (файл WinUser.h)
CreateWindowEx стоит использовать CreateWindowExAИ я считаю, что если надо писать с использованием WinAPI то тут без сомнения лучше всего будет родной компилятор MSVC, хотя он и обладает некоторыми особенностями. Хотя если использовать проект созданный на основе CMake например, то в настройках проекта не будет юникода и CreateWindowEx будет раскрываться в CreateWindowExA вместо CreateWindowExWVSCode я использую только для языка Swift, так как вне мака для него нету нормальных IDE, а так же для того же языка, но из под WSL. Причем он только недавно научился запускать бинарники. А С++ с CMake под ним я так и не смог заставить работать (со студией, терпеть не могу гнутые компиляторы). А так пользуюсь CLion и VS BuildTools для С/С++ (включая wsl) и Rider для Unreal Engine (у Rider появилась комьюнити версия, то есть бесплатная). Последний UE (5.5) рарзросся прилично и становится все тормознутей и тормознутей. У меня есть ноут (правда макбук) 12 года с i5-3210m без дискретного видео и с 4гб оперативки. Там использую как IDE родной XCode, пробовал CLion, работает, но не очень шустро, так что не совсем комфортно. Хотя вообще если автор хочет изучать OPenGL, то непонятно зачем он полез в дебри WinAPI, ведь opengl это кроссплатформа и для него есть так же кроссплатформенные библиотеки для создания окон и обработки ввода, например GLFW
1
|
|||||||||||
| 18.12.2024, 14:34 | |||||||
|
1
|
|||||||
|
401 / 36 / 8
Регистрация: 09.01.2019
Сообщений: 148
|
|||
| 18.12.2024, 15:26 | |||
|
2) установить CMake 3) берём любой проект с CMakeLists.txt, открываем его редактором, ПКМ на любом CMakeLists.txt -> Clean and Reconfigure, выбираем компилятор из выпадающего списка, остальное всё на тулбаре (смотрим скрин). Отлично поддерживается работа с кодом, автокомплит, сборка, отладчики, проверено для msvc, mingw, clang. Полноценно работаю с проектами любого масштаба, в том числе с Qt (сам собираю его с исходников под нужные платформы). Никакие Qt Creator`ы рядом не стояли по скорости работы, проверял и в винде, и в линуксе.
2
|
|||
|
401 / 36 / 8
Регистрация: 09.01.2019
Сообщений: 148
|
|
| 18.12.2024, 15:27 | |
|
2
|
|
| 18.12.2024, 19:24 | |||||||||||||
Я провёл эксперимент несколько раз. Я включал опцию выше. Закрывал VSCode. Ждал секунд 20-30, чтобы ноут полностью успокоился. Запускал VSCode. Через секунд 10 ноут начинал шуметь и продолжал шуметь пока я не закрыл VSCode. И шумит напряжно и неприятно. Как только я закрываю VSCode, то ноут через секунд 20-30 полностью переставал шуметь. Я провёл такой же эксперимент с Qt Creator 15.0.0. С ним ноут шумит, примерно на 80% тише, чем с VS, то есть небольшой шум есть. Шум чуть выше слабого, даже в режиме отладки с точками останова. Возможно это мои загоны, но мне нравится, когда ноут работает очень тихо - почти неслышно. Скорее всего, есть люди, кто вообще не обращают на шум внимания - одевают наушники и слушают музыку. Мне нравится, без наушников, без музыки в тишине, чтобы ноут расслабленно и очень тихо работал. Почти неслышно он работает с Notepad++ и Sublime Text 4 со сборкой проектов из консоли. 99% процентов времени я работаю в ST4 + консоль: "cmake -build ." > "app" - этот редактор кода близок по потребляемым ресурсам на Notepad++, но значительно более удобнее. Добавлено через 23 минуты Daniil_G, раз вам VS не подошла по весу и по потребляемым ресурсам, то у вас есть выбор: либо перенести код в VSCode, либо в Qt Creator. Если сразу получится, то отпишитесь в этой теме, что получилось. Если не получится, то можете создать тему, например с названием "Код из CodeBlocks не работает в VSCode". Для выбора, что вам больше понравится, надо работать поочерёдно: в VSCode и в Qt Creator и посмотреть, что вам больше будет нравиться. А может быть вы освободите место на жёстком и продолжите использовать VS 2022, скорость работы вас устроит, а шум вы может не обращаете внимания. Может у вас нет таких загонов по шуму, как у меня.
1
|
|||||||||||||
| 18.12.2024, 19:25 | ||
|
Не по теме:
0
|
||
|
401 / 36 / 8
Регистрация: 09.01.2019
Сообщений: 148
|
||
| 18.12.2024, 20:12 | ||
|
Плюс редактора VS Code в том, что он одновременно позволяет работать с кучей инструментов, например, не только собирать с использованием CMake, но и отлаживать с бряками сами мейклисты (да, CMake Tools это позволяют), тут же в этом проекте запускать (и тоже дебажить) python скрипт, запустить и работать в окружении докер-контейнера, собирая проект для линукс платформы на с++, и много чего ещё, всё ограничено только Вашими потребностями и наличием поддерживаемых плагинов, которые ставятся в два клика, что немаловажно для новичков
2
|
||
| 18.12.2024, 21:31 | |||
|
Потом нажал синюю кнопку "Run and Debug": Появился список для выбора отладчика, где я выбрал "С++ (GDB)": Далее, появился список найденных компиляторов. Здесь он был один, я его выбрал: Но это тупиковый сценарий, потому что он приводит к ошибке: Тогда я просто вернулся на панель с синей кнопкой "Run and Debug" и нажал на "create a launch.json file" Опять выскочило предыдущее предложение по выбору отладчика: Появился файл launch.json и следующий выбор типа отладчика. Я выбрал "C/C++: (gdb) Launch": Был сгенерирован файл, где нужно ввести пути к отладчику и к EXE: Где я вписал свои значения путей: Теперь есть рабочая кнопка отладки: Я её нажимаю и точка останова срабатывает: А оказывается, надо было просто начать эту кнопку: А кто же знал-то, что это разные кнопки? Обычно такие вещи продублированы, то есть должна быть одна и та же функциональность на этих кнопках. Ну что ж, что есть, то есть. Зато ещё один способ показал. Уверен, большинство нажимает именно эту большую кнопку с жуком на панели слева.
1
|
|||
| 18.12.2024, 21:56 | |
|
EugeneNN, не подскажите, как добавлять пути к библиотекам в VSCode для CMake, чтобы find_package нашёл библиотеку?
Например, в Qt Creator есть табличка, куда добавляются новые переменные и пути для них:
1
|
|
|
401 / 36 / 8
Регистрация: 09.01.2019
Сообщений: 148
|
||
| 18.12.2024, 22:11 | ||
|
2) Определяете эту переменную окружения в Вашем дистрибутиве (или в винде) 3) В мейке запрашиваете её через CMAKE_PREFIX_PATH и проверяете её, find_package рекурсивно находит либу
2
|
||
| 18.12.2024, 22:11 | |
|
Расширение для Visual Studio 2022 на фреймворке Visual Studio Community Toolkit
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|