Как добавить библиотеку в visual studio 2019

Обновлено: 04.07.2024

Тема 5.1. Подключение библиотеки SFML в Visual Studio и CODEBLOCKS

В мире достаточно много программистов, которые готовы поделиться результатами своего труда с коллегами. Часто это просто команда единомышленников, которые начинают создавать продукт для своей команды, а затем пускают его в "свободное плавание", хотят поделиться удачной реализацией алгоритмов или самоутвердиться. Другим часто встречающимся случаем является публикация результатов научной или какой-либо другой академической деятельности.

Свободно распространяемых и закрытых библиотек очень много. Поэтому, в целях экономии времени, более оправданным является использовать уже готовых библиотек функций и классов, нежели создавать все "с нуля".

Обычно библиотеку подключают к какому либо проекту, прописывая пути к файлам библиотеки в настройках проекта. Это довольно-таки простой процесс. Для этого необходимо выполнить несколько действий:

  • Получить архив с бинарными файлами библиотеки и распаковать его в какой-нибудь локальный каталог.
  • Прописать в настройках IDE пути к каталогам библиотеки: include и lib

Далее можно создать шаблон проекта специально для данной библиотеки, чтобы при создании нового файла с исходными текстами не повторять каждый раз одни и те же действия.

Создайте на пользовательском диске каталог с именем SFML_Lib и распакуйте в него соответствующий архив. В каталоге юудут представлены следующие подкаталоги:


В каталогах lib и include располагаются файлы, необходимые на этапе компиляции программ. Пути к этим каталогам следует прописать в настройках проекта.

В каталоге doc располагается документация к библиотеке на английском языке

В каталоге examples располагаются примеры готовых приложений, написанных с использованием библиотеки SFML.

Подключение библиотеки в Visual Studio

Создайте простой консольный проект Win32. Затем откройте настройки проекта Project – <Имя вашего проекта> Properties. . Для подключения файлов, необходимых для разработки, установите значения свойств так, как показано на рисунках:

Как же подключить/загрузить внешнюю динамическую библиотеку в свою программу/проект, написанную на языке программирования C++ в IDE Microsoft Visual Studio, в ОС Microsoft Windows?

Состав

Типы файлов

Для начала, давайте разберёмся, что обычно представляет собой любая динамическая библиотека, написанная на, и созданная для программ С++? Это от 1 до 4 типов файлов:

Из всего списка главным являются только файлы с расширением .dll, т.е. остальных файлов может и не быть.

Количество

У одной библиотеки может быть множество файлов таких типов. Все они, обычно, рассортированы по соответствующим папкам, чтобы было легче подключать в IDE.

Вариации

Файлы dll, lib и exp различаются по платформе (ОС), архитектуре, конфигурации, etc. В одной версии библиотеки может предоставляться сразу несколько альтернативных вариаций одинаковых по функционалу файлов. E.g.:

Всё это крайне важно, всё надо учитывать при подключении библиотеки к проекту. Свойства проекта в Visual C++ могут устанавливаться отдельно для каждой конфигурации (Release, Debug) и архитектуры/платформы (x32 (x86), x64).

Подключение

Перед тем, как подключать файлы библиотеки к своей программе, надо сперва открыть необходимый проект в IDE Visual Studio: Главное меню > Файл > Открыть проект.

Заголовочные файлы (.h)

Файлы таблиц импорта и экспорта (.lib, .exp)

Файл таблицы импорта (.lib)

Помимо указания IDE директории расположения файлов таблиц импорта (.lib), их также для линковки надо дополнительно явно указать. Сделать это можно двумя способами:

      Прописать полные названия (путь, название и расширение) .lib файлов сюда: Главное меню > Проект > Свойства проекта > Свойства конфигурации > Компоновщик > Ввод > Дополнительные зависимости. Каждая библиотека в отдельной строке. Кавычки необязательны.
      В итоге они будут вписаны автоматически в строку в двойных кавычках через точку с запятой (;). E.g.:

    Можно использовать сразу два способа.

    Я рекомендую использовать второй вариант, когда все подключения пишутся непосредственно в коде. Так нагляднее и переносимость кода увеличивается, когда всё, что нужно написано в самом коде, а не где-то там в настройках IDE.

    Файлы библиотек (.dll)

    Параметры конфигурации препроцессора

    Также не забывайте указывать параметры конфигурации препроцессора тут: Главное меню > Проект > Свойства проекта > Свойства конфигурации > C/C++ > Препроцессор > Определения препроцессора. Параметры являются комбинированием в определённой последовательности определённых литералов. Вот некоторые из них:

    Некоторые возможные варианты параметров:

    • MT_StaticRelease
    • MTd_StaticDebug
    • MD_DynamicRelease

    Это далеко не все возможные параметры.

    Примечания

    Пути директории указывать без конечного слеша.

    Опция Компоновщик
    Библиотеки

    Заключение

    На самом деле, подключать сразу столько всего зачастую не нужно. Как правило, предоставляется только исходный код и всё. Приходится самостоятельно из исходников компилировать библиотеки (файлы .dll и .lib). Т.е. нужно будет указать только заголовочные файлы .h, которые являются частью исходников.

    БлогNot. Как собрать проект C++ с github из исходников и подключить его к Visual Studio

    Как собрать проект C++ с github из исходников и подключить его к Visual Studio

    Благодаря менеджеру пакетов winget, уже входящему в актуальные сборки масдайки, теперь в Windows 10 можно инсталлировать приложения одной простой консольной командой (см. также доку от Микрософта).

    Но мы рассмотрим сейчас ситуацию, когда у нас есть только ссылка на исходники проекта, скажем, на Гитхабе (возьмём для примера библиотеку для простых чисел primesieve) и нужно каким-то образом скомпилировать внешний проект в своей Studio, чтобы воспользоваться его возможностями в своём приложении.

    В противном случае, конечно же, нестандартный include вроде этого, который вы нашли в коде-образце

    работать не будет ни за что.

    Первым делом скачаем все исходники внешнего проекта "как есть" в архиве .zip, для этого у нас на гитхабе есть кнопка "Download ZIP":

    Как загрузить проект с github в архиве .zip


    Как загрузить проект с github в архиве .zip

    Развернём проект, не создавая новой папки, если у вашего архиватора нет такого же пункта меню, просто сотрите предлагаемое архиватором имя новой папки, потому что папка уже есть в архиве:

    Извлечь внешний проект из архива, не создавая новой папки


    Извлечь внешний проект из архива, не создавая новой папки

    Если покопаться в файле readme.md проекта, как правило, можно найти инструкцию по установке (Build instructions) и даже "Detailed build instructions", где говорится, в числе прочего, и о компиляции проекта под Microsoft Visual C++:

    Команды cmake для компиляции проекта со страницы документации


    Команды cmake для компиляции проекта со страницы документации

    Откроем свой "некомпилируемый" без нужной библиотеки проект в Studio (я использую актуальную сборку версии 2019) и обратимся к команде меню Вид - Терминал. Выберем инструмент "Командная строка разработчика" (по умолчанию в новых сборках теперь выбран PowerShell, впрочем, если в документации приведены команды PowerShell, то применяйте их).

    У Микрософта инструмент описан вот здесь.

    Командная строка разработчика в Studio


    Командная строка разработчика в 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, вот сама программа:

    Ответы вышли такие:

    За счёт хорошо оптимизированного кода библиотеки считается всё мгновенно.


    Россия
    • размер шрифта уменьшить размер шрифтаувеличить размер шрифта
    • Печать
    • Эл. почта
    • Станьте первым комментатором!

    Установка поддержки C++ в Visual Studio Code (VSCode)

    Для разработки программ на языке c++ вы можете использовать среду разработки Visual Studio Code (VSCode).

    Сегодня мы рассмотрим установку поддержки языка программирования с++ в этой IDE.

    Выбор компилятора

    Перед установкой расширения для поддержки с++ в VSCode нам нужно сначала определиться какой компилятор использовать.

    Под Windows существует несколько возможностей:

    • Вы можете использовать Windows Subsystem for Linux (WSL) и установив в виртуальной машине все необходимые пакеты компилировать программы с помощью специального расширения для VSCode.
    • Вы можете установить MinGW или MSYS2 и использовать их компиляторы.
    • Вы можете установить компилятор Microsoft C++ compiler (MSVC)

    Сегодня мы рассмотрим самый простой способ – установку Microsoft C++ compiler (MSVC).

    Установка Microsoft C++ compiler (MSVC)

    Для начала скачаем установщик по ссылке:

    Скачиваем файл, в моем случае он называется:

    Запускаем, откроется окно:

    2021-03-01_20-00-00.jpg

    Нажимаем "Продолжить" и ждем, пока не закончиться скачивание файлов:

    2021-03-01_20-00-38.jpg

    После этого откроется окно:

    2021-03-01_20-05-51.jpg

    Поставьте галочку рядом с Разработка классических приложений на C++

    2021-03-01_20-11-17.jpg

    К сожалению, нет способа не ставить саму IDE.

    Снимите галочки с:

    • Live Share
    • С++ AddressSanitizer
    • Адаптер тестов для Boost.Test
    • Адаптер тестов для Google Test

    2021-03-01_20-16-08.jpg

    Ожидайте окончания установки.

    После окончания загрузок перезагрузите ваш ПК

    Проверка доступности компилятора

    После перезагрузки проверим доступен ли компилятор, для этого запустите cmd.exe скопируйте и вставьте в консоль строку

    Будет запущена консоль разработчика:

    Компилятор успешно установлен и доступен.

    Теперь пришло время установить расширение для поддержки с++ в VSCode.

    Установка расширения для поддержки С++ в VSCode

    Откроется панель Extensions: Marketplace – это каталог, из которого мы можем скачать все необходимые расширения и темы, достаточно знать их название.

    2021-03-01_20-30-25.jpg

    Выберите указанный пункт и нажмите install

    2021-03-01_20-30-59.jpg

    Будет начато скачивание дополнительных компонентов. После окончания загрузок расширение будет готово к использованию.

    Настройка VSCode для использования компилятора MSVC

    Для того, чтобы протестировать работу компилятора создадим тестовый проект.

    Для нормального функционирования компилятора MSVC нужно установить несколько переменных окружения. Чтобы упростить задачу воспользуемся Visual Studio 2019 Developer Command Prompt.

    Запустите его из меню Пуск введя слово developer, откроется консоль:

    2021-03-01_20-46-21_2.jpg

    Допустим, наши проекты буду находится в папке d:\cpp

    Создадим данную папку и перейдем в нее:

    Создадим папку для проекта test

    Запустим VSCode из этой папки

    Откроется окно VSCode

    Обратите внимание наша папка уже открыта.

    Добавим новый файл для этого нажмите на кнопку:

    2021-03-01_20-59-56.jpg

    В появившееся поле введите имя файла main.cpp

    Введите текст программы и не забудьте сохранить результат:

    Настройка компилятора для проекта

    Теперь у нас есть программа, осталось её скомпилировать, давайте настроим задачу сборки для проекта.

    Настройка задачи сборки (Build Task)

    Выберите пункт меню Terminal –> Configure Default Build Task…

    2021-03-01_21-07-58.jpg

    В окне выберите – cl.exe

    Будет создан файл сборки:

    2021-03-01_21-09-10.jpg

    Закройте вкладку с файлом tasks.json

    Откройте файл main.cpp и нажмите

    Сборка успешно завершена.

    Щёлкните мышкой по терминалу и нажмите пробел, чтобы закрыть результаты сборки.

    Введите main.exe и нажмите Enter

    2021-03-01_21-20-38.jpg

    Поздравляю, мы успешно настроили среду разработки VSCode для работы с языком программирования C++.

    Заключение

    Сегодня мы добавили поддержку языка программирования C++ в среду разработки VSCode.

    Нами был установлен компилятор Microsoft C++ compiler (MSVC) и проверена его работоспособность.

    Мы добавили тестовый проект и настроили задачу сборки Build Task для нашего проекта.

    Читайте также: