Как перекомпилировать в 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".
При возникновении других проблем можно попробовать их загуглить, возможно, что кто-то уже сталкивался с ними и решил их.
У меня есть проект, который использует Effects11.lib и Effects11d.lib, но когда я создаю свой проект, я получаю кучу "ошибки LNK2038: обнаружено несоответствие для" __MSC_VER ": значение" 1600 "не соответствует значению" 1800 ". И из того, что я нашел, это говорит о том, что.lib был создан для другой версии VS, чем то, что я использую, и мне нужно перекомпилировать их. Проблема в том, что я не уверен, как это сделать. Никогда не приходилось перекомпилировать lib раньше.
спросил(а) 2015-01-12T07:18:00+03:00 6 лет, 10 месяцев назадкоторый затем ссылается на
который имеет загрузку для источника этой библиотеки в
который, как представляется, имеет файлы проектов, которые можно использовать с VS2013, которые вы используете, чтобы вы могли создавать эффекты.lib для vs2013 и продолжать свою разработку.
Альтернативу вы могли бы связаться с самим автором с его веб-страницы и посмотреть, сможет ли он сделать это для вас и связать с ним, поскольку, скорее всего, вы не единственный, кто попал в эту проблему?
ответил(а) 2015-01-12T16:16:00+03:00 6 лет, 10 месяцев назадЭти статические библиотеки построены с помощью VS 2010, но вы используете VS 2013. Ошибка ссылки сообщает об этом.
Исправление в этом случае - это посетить сайт Effects 11 на CodePlex, а затем создать новую копию Effects 11 с вашим компилятором VS 2013. Кроме того, вы можете использовать пакет NuGet fx11_desktop_2013, который является той же версией, созданной для VS 2013.
Обратите внимание, что при использовании VS 2013, который включает в себя SDK Windows 8.1 с несколько устаревшей книгой Luna, вы можете попытаться использовать устаревшую библиотеку D3DX11. Вы, безусловно, можете сделать это с VS 2013 года, но вам нужно внести некоторые изменения в проект include/lib paths, чтобы заставить его работать. См. MSDN. Библиотека библиотеки Effects 11 от CodePlex или NuGet не имеет никаких зависимостей от устаревшего SDK DirectX.
У меня есть некоторые общие замечания об этой книге здесь также.
Полный список альтернатив D3DX11 см. В разделе " Жизнь без D3DX".
ответил(а) 2015-01-12T23:58:00+03:00 6 лет, 10 месяцев назадЧтобы перекомпилировать файл.lib, сначала нужно иметь исходный код. Затем вы открываете проект vcproject проекта библиотеки, а затем вы меняете свои настройки, а затем можете перекомпилировать. Я также нашел в Интернете, что для некоторых типов c++ для его перекомпиляции вам придется удалить файл.o, сгенерированный в каталоге библиотеки. Но я не знаю, относится ли это к вашему компилятору. Надеюсь, это ответит на ваш вопрос.
Компиляция программ C / C ++ в Visual Studio Code [1] -MinGW-W64
Каталог статей
Visual Studio Code (далее VS Code) - один из самых популярных редакторов кода на данный момент. Он имеет открытый исходный код, кроссплатформенный, поддерживает несколько языков, богатые расширения и удобный пользовательский интерфейс. В то же время он учитывает функции некоторых IDE, таких как IntelliSense, компиляция, Отладка и т. Д. Сделали его популярным среди программистов. Но поскольку это, по сути, просто текстовый редактор, когда он был впервые установлен, в нем не было ничего, кроме основных функций редактирования, что заставляло некоторых пользователей, только начинающих работать, путаться. Поэтому, основываясь на моем собственном опыте, я кратко расскажу об установке VS Code и MinGW-W64, а также о том, как использовать MinGW-W64 для компиляции программ C / C ++ во вновь установленном VS Code.
1. Установите VS Code
Сначала мы начнем сОфициальный сайт VS CodeСкачайте последнюю версию, откройте установщик и согласитесь с соглашением.
Для других задач подбирайте их по мере необходимости. Рекомендуется проверить их все. Так будет намного удобнее для дальнейшей работы
Подтвердите правильность и начните установку.
Запустите VS Code, чтобы проверить, может ли он работать нормально
2. Установите расширение C / C ++ для VS Code.
3. Установите MinGW-W64.
4. Добавьте MinGW-W64 в путь
Теперь нам нужно поместить двоичный файл в каталог MinGW-W64. C:\mingw-w64\x86_64-8.1.0-win32-seh-rt_v6-rev0\mingw64\bin (Измените этот путь на свой собственный) Добавьте в системную переменную окружения Путь, метод работы следующий
Откройте панель управления и выберитеСистема и безопасность> Система , А затем щелкните порядок, как показано ниже, чтобы добавить переменные среды
Или обратитесь к другому моему руководству:Как добавить Python в системную переменную окружения Path в Win10, Метод аналогичен
5. Создайте новый проект.
Сначала создадим новый проект. Создайте новую папку в своем любимом каталоге, я создам здесь новую hello_world папка. Войдите в папку, щелкните правой кнопкой мыши пустое пространство и выберите «Открыть с помощью кода». (Вы также можете открыть папку в программе VS Code)
После открытия нажмите кнопку ниже, чтобы создать новый файл с именем hello_world.cpp
Примечание. Необходимо вручную ввести расширение файла. .cpp , Чтобы правильно определить тип файла и включить IntelliSense
Затем вводим следующие
Ctrl + S сохранить
6. Создайте и отредактируйте файл конфигурации в VS Code.
Затем нам нужно сгенерировать файлы конфигурации, необходимые для компиляции (Compile) и отладки (Debug). Сначала мы генерируем файл конфигурации, используемый для компиляции tasks.json
task.json
Нажмите Ctrl+Shift+P Сочетание клавиш, во всплывающем окне найдите Задачи, выберите Настроить задачу сборки по умолчанию.
и выберите g++ Это третий на картинке ниже
Теперь у нас есть файл конфигурации по умолчанию. tasks.json следующим образом
Примечание: мы можем получить больше информации об этом файле по ссылке в комментарии
Теперь вернемся к hello_world.cpp , Вы можете использовать его напрямую Ctrl+Shift+B Ярлык для компиляции файла
Вы можете видеть, что скомпилированный hello_world.exe файл. Нажмите Ctrl + Сочетание клавиш, чтобы открыть Терминал с VS Code, введите . \ hello_world.exe`, вы можете запустить напрямую
launch.json
Когда мы включаем GDB для отладки, нам понадобится еще один launch.json
выберите в верхней строке менюDebug > Add Configuration…
и выберите C++ (GDB/LLDB)
, затем выберите g++ Вон тот
VS Code автоматически запустит отладку и сгенерирует launch.json Файл, как показано ниже
Теперь отладка по умолчанию запускается в терминале ниже. Если нам нужно отдельное окно командной строки, мы можем добавить "externalConsole": false средний false Чтобы true , А затем отлаживайте эффект следующим образом
Примечание. Подробнее об этом файле можно узнать по ссылке в комментарии к файлу launch.json.
c_cpp_properties.json
Если мы хотим дополнительно настроить соответствующую конфигурацию расширения C / C ++, мы можем создать c_cpp_properties.json , Есть два способа использования UI и json
Ctrl+Shift+P , Найдите c / c ++, выберите любое из следующих изображений (пользовательский интерфейс - графическая операция, JSON - метод редактирования текста)
Ниже приводится обзор параметров (без усечения).
Здесь нет необходимости в дополнительных операциях, просто установите его на мое изображение выше.
О папке .vscode
Мы видим еще один в папке .vscode В папке находится только что сгенерированный файл конфигурации. Поскольку то, что мы создали раньше, является общими файлами шаблонов, каждый раз, когда мы создаем новый проект в будущем, нам нужно только .vscode Скопируйте в соответствующую папку, отредактируйте и настройте по мере необходимости, вы можете напрямую использовать сочетания клавиш для компиляции и отладки, без необходимости повторять процесс снова
На данный момент руководство по использованию MinGW-W64 для компиляции программ C / C ++ в Visual Studio Code закончено.
Поскольку мне всё равно пришлось ставить Visual Studio Community для того, чтобы установить Windows Kits для работы с WinAPI, то я решил не использовать MingW, а доустановить C++ build tools и использовать их для компиляции. В этом случае придётся переделать задачи (tasks) и настройки VSCode.
Хорошее описание нашёл здесь, его и буду использовать в данной заметке.
Нам потребуется
1. Естественно нам потребуется сама программа VSCode.
2. В Visual Studio Community должен быть установлен компонент Desktop development with C++ :
Чтобы проверить успешную установку, достаточно вызвать Developer Command Prompt for VS 2019 (файл VsDevCmd.bat ) из Пуска. Там нужно запустить файл cl.exe . Вывод консоли должен быть без ошибок:
3. Для VSCode должно быть установлено дополнение (расширение) Microsoft C/C++
Настройка
4. В Проводнике открываем рабочую папку проекта и, удерживая Shift , нажимаем правую кнопку мыши, после чего выбираем Open PowerShell window here
5. В открывшемся окошке PowerShell запускаем VSCode, для этого нужно набрать code . и нажать Enter :
9. Открываем палитру команд с помощью комбинации клавиш Ctrl + Shift + P
10. Список большой, поэтому проще ввести часть слова и выбрать нужную команду Edit Configurations UI из списка:
11. В конфигурации необходимо проверить, а, при необходимости, установить путь для компилятора:
12. Внесём изменения в файл settings.json :
13. Ранее я уже создавал файл Задач tasks.json, поэтому сейчас я добавлю к нему новые строчки:
14. Чтобы у нас была возможность запустить проект на отладку, можно использовать файл launch.json . Но я не хочу создавать такой файл для каждого проекта каждый раз, поэтому сделаю глобальную конфигурацию. Для этого я добавлю строчки в файл settings.json :
Благодаря этому, при нажатии F5 , проект будет откомпилирован, а потом запущен сразу после этого. Просто запустить, без отладки, можно комбинацией Ctrl + F5
Читайте также: