Как открыть исходники в visual studio
БлогNot. Как собрать проект C++ с github из исходников и подключить его к Visual Studio
Как собрать проект C++ с github из исходников и подключить его к Visual Studio
Благодаря менеджеру пакетов winget, уже входящему в актуальные сборки масдайки, теперь в Windows 10 можно инсталлировать приложения одной простой консольной командой (см. также доку от Микрософта).
Но мы рассмотрим сейчас ситуацию, когда у нас есть только ссылка на исходники проекта, скажем, на Гитхабе (возьмём для примера библиотеку для простых чисел primesieve) и нужно каким-то образом скомпилировать внешний проект в своей Studio, чтобы воспользоваться его возможностями в своём приложении.
В противном случае, конечно же, нестандартный include вроде этого, который вы нашли в коде-образце
работать не будет ни за что.
Первым делом скачаем все исходники внешнего проекта «как есть» в архиве .zip, для этого у нас на гитхабе есть кнопка «Download ZIP»:
Как загрузить проект с github в архиве .zip
Развернём проект, не создавая новой папки, если у вашего архиватора нет такого же пункта меню, просто сотрите предлагаемое архиватором имя новой папки, потому что папка уже есть в архиве:
Извлечь внешний проект из архива, не создавая новой папки
Если покопаться в файле readme.md проекта, как правило, можно найти инструкцию по установке (Build instructions) и даже «Detailed build instructions», где говорится, в числе прочего, и о компиляции проекта под Microsoft Visual C++:
Команды cmake для компиляции проекта со страницы документации
Откроем свой «некомпилируемый» без нужной библиотеки проект в Studio (я использую актуальную сборку версии 2019) и обратимся к команде меню Вид — Терминал. Выберем инструмент «Командная строка разработчика» (по умолчанию в новых сборках теперь выбран PowerShell, впрочем, если в документации приведены команды PowerShell, то применяйте их).
У Микрософта инструмент описан вот здесь.
Командная строка разработчика в Studio
В командной строке пишем команды из документации, но сначала, конечно, нужно перейти в ту папку, где у вас развёрнут скачанный проект. Мне понадобилось ввести в консоли следующее, завершая каждую команду нажатием Enter:
— теперь я в нужной папке, так как развернул свой архив в папку d:\temp
Далее как написано:
Можно просто копировать команды со страницы документации, в окне консоли вверху есть стандартная кнопочка «Вставить». А вот точка в записи команд имеет значение, это ссылка на текущую папку!
Ну и, конечно, для другой версии Studio будет другое указание компилятора, узнать своё можно командой
Нужный генератор будет помечен в списке «звёздочкой».
Теперь проект можно открывать в Studio и работать с ним, все нужные файлы есть в папке d:\temp\primesieve-master
Но мы хотим подключить всё, что нужно, к своему имеющемуся проекту, а не пытаться модифицировать чужую библиотеку.
- Меню Проект — Свойства, слева выбираем Свойства конфигурации, C/C++, Общие, раскрываем поле «Дополнительные каталоги включаемых файлов», говорим «Изменить» и показываем на папку D:\Temp\primesieve-master\include . В вашем проекте, как правило, тоже будет вложенная папка include .
- В том же окне выбираем Компоновщик — Общие — Дополнительные каталоги библиотек, «Изменить» и добавляем путь D:\Temp\primesieve-master\Release . Этого может оказаться мало, у вашего проекта и внешнего должны быть выбраны одинаковые конфигурации решения. Так как я выбрал Release для внешнего проекта, то и в своём проекте в списке «Конфигурации решения» (на стандартной панели инструментов) указал Release и платформу x64. Можно было работать и с Debug, но тогда и внешний проект компилируем как Debug и потом выбираем путь D:\Temp\primesieve-master\Debug .
- В списке C/C++ — Создание кода — Библиотека времени выполнения выбрал Многопоточный DLL (/MD), иначе будет «LNK2038: обнаружено несоответствие для ‘RuntimeLibrary’: значение ‘MT_StaticRelease’ не соответствует значению ‘MD_DynamicRelease’ в file.obj».
- Сам файл библиотеки, как правило имеющий тип .lib , тоже нужно прописать. Всё в том же окне свойства проекта выбираем список Компоновщик — Ввод, раскрываем список «Дополнительные зависимости», жмём «Изменить» и указываем в поле ввода имя файла библиотеки primesieve.lib
- На всякий случай, проверяем, что у нас в списке Компоновщик — Система — Подсистема, у меня там просто Консоль (/SUBSYSTEM:CONSOLE) , для других типов проектов может понадобиться изменение и этой настройки.
После этого у меня всё заработало.
Ну а конкретная задача, на которой я проверял библиотеку — печать самых длинных цепочек последовательных простых чисел, в которых разница между соседними значениями строго возрастает или строго убывает, предел счёта равен 1000000, вот сама программа:
Ответы вышли такие:
За счёт хорошо оптимизированного кода библиотеки считается всё мгновенно.
Как собирать С/С++ проекты в Microsoft Visual Studio?
В наше время open source проекты все популярнее. На площадках открытых проектов, например, на github можно найти множество полезных программ, но они не всегда имеют исполняемые файлы («exe»), поэтому я постараюсь рассказать о том, как можно собрать самостоятельно C/C++ программу, из исходников, написанную на Microsoft Visual Studio.
Первым делом нам необходимо загрузить онлайн установщик Microsoft Visual Studio, с официального сайта. Для компиляции С/С++ проектов нет необходимости во всех пакетах и можно выбрать только те, которые нам необходимы.
Установщик загрузит необходимые пакеты из интернета и установит их.
После установки Visual Studio можно убедиться, что всё работает создав тестовый проект и скомпилировав его. Для этого нажмите в меню «Файл» → «Создать» → «Проект. «
После чего появится диалог выбора типа проекта, где можно выбрать:
- Консольное приложение;
- Классическое приложение;
- Библиотеку динамической компоновки (dll);
- Статическую библиотеку;
В нашем случае для быстрой проверки подойдет консольное приложение, выбираем название и папку проекта , после чего жмём кнопку «ОК» и создается наша программа.
После этого остается остается лишь скомпилировать её, для этого нужно выбрать в меню «Сборка» и нажать на пункт «Собрать решение».
Далее наш проект скомпилируется и в папке проекта появится наш тестовый исполняемый файл («exe»).
Если всё работает как надо, то можно приступать к сборке какого-нибудь другого открытого проекта с github или другого хостинга проектов.
Первым делом нам нужно загрузить исходники проекта. На площадке github это делается довольно просто, жмем на кнопку «Code» и «Download ZIP». После чего нужно распаковать его и можно приступать к сборке.
Ищем файл с расширением «<название_проекта>.vcxproj» и запускаем его. Перед нами появится диалог в котором нам предложат обновить SDK проекта (набор библиотек для разработки, которые Microsoft периодически обновляет) и набор инструментов, жмём обновить.
Теперь наш проект можно собрать, но до сборки необходимо выбрать разрядность проекта (например, для 32 битной системы или 64 битной), а также тип сборки (отладочный режим — debug или release).
Выбираем 64 битную систему и тип сборки релиз, после чего компилируем проект. Как и ранее нужно выбрать в меню «Сборка» и нажать на пункт «Собрать решение».
Некоторые проектам требуется вручную изменить SDK и набор инструментов, на установленный у вас, для этого идём в свойства проекта, выбираем сверху типа сборки и разрядность системы и уже там изменяем SDK и набор инструментов. В выпадающем меню появляются установленные у нас версии, выбираем их и нажимаем «ОК». После чего наш проект скомпилируется.
Бывает, что проект использует сторонние библиотеки, для этого их нужно загрузить отдельно и положить в папку. Узнать путь или изменить его можно в свойстве проекта, в разделе «С/C++» → «Общие» → «Дополнительные каталоги включаемых файлов».
Бывает, что SDK или набор инструментов, в свойстве проекта не изменяется в диалоге, чтобы изменить их нужно записать номер SDK, закрыть Visual Studio и вручную, блокнотом изменить этот номер в файле проекта «<название_проекта>.vcxproj«.
При возникновении других проблем можно попробовать их загуглить, возможно, что кто-то уже сталкивался с ними и решил их.
Как в Visual Studio посмотреть не пользовательский код?
Как в Visual Studio for Web 2013 посмотреть не пользовательский код (то есть код из подключенных пространств имен)? Хочу установить там брекпойнт. Нашел в Object Browser лишь перечисление классов, но не сам код.
Брекпойнт можно поставить и без просмотра кода — не обязательно открывать код и нажимать на конкретной строчке F9. Можно поставить брекпойнт по имени функции.
Достаточно включить отладку чужого кода: снять чекбокс Debug/Options/Enable Just My Code.
Потом просто поставить брекпойнт:
- открыть Debug/New Breakpoint/Break at Function
- ввести имя класса и метода. Или просто имя метода Например брекпойт на «Update» поставит брекпойнты на все методы Update во всех классах во всех подключенных сборках.
- если будет показано окно с предупреждением — прочитать и проигнорировать
- проверить результат в окне Breakpoints
Если повезет, и если для стороннего кода есть проиндексированные отладочные символы — вам покажет исходный код. Если не повезет — то покажет только call stack, locals и переданные параметры — т.е. все кроме самих исходников.
Если вам нужна именна пошаговая отладка исходников:
Для сборок фреймворка ее можно настроить автоматически — поставить Enable .NET framework source stepping в Debug/Options.
Для другого кода, исходников которого у вас нет — можно воспользоваться бесплатным dotPeek или платными Resharper / Reflector — они умеют декомпилировать и генерировать индексированные отладочные символы для сторонних сборок.
Вы не можете поставить точку останова в коде, для которого у вас нету исходников и/или pdb-файлов (так называемые «символы»).
Если вы хотите отладить код сторонней библиотеки, это скорее всего не получится можно воспользоваться встроенной в Visual Studio 2019 поддержку декомпиляции. Она работает, начиная с версии 16.5. Для некоторых более ранних версий Студии поддержка можно тоже включить, но результат не гарантирован. «Под капотом» у этой декомпиляции находится проект ILSpy, которым можно пользоваться и отдельно.
Кроме того, вы можете воспользоваться коммерческими декомпиляторами наподобие .NET Reflector’а. Подробности, как ни странно, на официальном сайте. Учтите, что он небесплатный, хотя и недорогой.
Если же вы, однако, хотите протрассировать библиотеки .NET framework, Microsoft специально предоставила Reference Source и .pdb на своём сервере. Вам лишь надо правильно настроить Visual Studio [1], [2]:
Как запустить код в Visual Studio Code
Работа в VS Code
Один из самых популярных редакторов исходного кода Visual Studio Code очень удобен для начинающих. Удобный интерфейс и расширенные возможности привлекают как начинающих, так и опытных программистов.
Если вы новичок в VS Code и ищете упрощенное руководство по запуску кода, вы попали по адресу. Мы расскажем вам о настройке необходимого программного обеспечения и выполнении кода с использованием знакомых языков, таких как C/C++ и Python.
Запуск C++ кода
- Откройте VS Code.
- Выберите значок просмотра расширений на панели активности или используйте комбинацию клавиш (Ctrl+Shift+X).
- Введите в строку поиска ‘C++’.
- Установите плагин.
После установки расширения, при открытии или создании *.cpp файла у вас будет подсветка синтаксиса, интеллектуальные завершения (IntelliSense), а также проверка ошибок.
Установка компилятора
C++ — компилируемый язык, то есть исходный код программы должен быть переведен (скомпилирован), прежде чем он будет запущен на компьютере. VS Code — это, прежде всего, редактор, и для выполнения большей части рабочего процесса разработки он полагается на инструменты командной строки. Расширение C/C++ не включает компилятор C++ или отладчик. Нужно будет установить эти инструменты или использовать уже установленные на вашем компьютере.
Возможно, компилятор и отладчик C++ уже есть в вашей учебной или рабочей среде разработки. Узнайте у своих преподавателей или коллег, как установить рекомендуемый набор инструментов C++ (компилятор, отладчик, проектную систему, линтер).
На некоторых платформах, таких как Linux или macOS, компилятор C++ уже установлен. В большинстве дистрибутивов Linux установлен GNU Compiler Collection (GCC), а пользователи macOS могут получить инструменты Clang вместе с Xcode.
- Установите MinGW
- Выберите нужный компилятор, потом перейдите в вкладку installation и нажмите apply change для сохранения настроек. Компилятор начнет скачиваться.
Где main.cpp — имя вашего файлы.
При сохранении файла, копилятор скомпилирует программу и можно будет запустить ее в терминале.
Видеоинструкция для подробного ознакомления
Запуск Python кода
Простой способ запуска Python и он не требует никакой настройки:
Установите расширение Code Runner .
Откройте файл кода Python в текстовом редакторе.
Чтобы запустить код Python:
- используйте сочетание клавиш Ctrl + Alt + N;
- или нажмите F1, а затем выберите Run Code (Запуск кода);
- или щелкните правой кнопкой мыши в текстовом редакторе и выберите Run Code в контекстном меню редактора;
- или нажмите кнопку Run Code в меню заголовка редактора.
Чтобы остановить запущенный код:
- используйте сочетание клавиш Ctrl + Alt + M
- или нажмите F1, а затем выберите Stop Code Run
- или щелкните правой кнопкой мыши на выходном канале и выберите Stop Code Run в контекстном меню.
Если вы хотите добавить путь к Python, вы можете перейти в меню Файл → Предпочтения → Настройки и добавить путь к Python, как показано ниже:
«code-runner.executorMap»:
<
«python»: «\»C:\\\Program Files\\\\Python35\\\python.exe\» -u»
>
Если вы уже установили расширение Python и вручную настроили интерпретатор, вы можете настроить ваш файл settings.json следующим образом:
<
«python.pythonPath»: «C:\\\\python36\\\\python36.exe»,
«code-runner.executorMap»:
<
«python»: «$pythonPath -u $fullFileName».
>
>
Как запустить HTML, JS
Html файл вы можете открыть с помощью браузера, VS code может только редактировать содержимое документа.