Visual studio как посмотреть библиотеку

Обновлено: 02.07.2024

Как же подключить/загрузить внешнюю динамическую библиотеку в свою программу/проект, написанную на языке программирования 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, которые являются частью исходников.

    В качестве примера мы рассмотрим подключение библиотеки SDL к нашему проекту в Visual Studio 2017 (работать будет и с более новыми версиями Visual Studio).

    Шаг №1: Создаем папку для хранения библиотеки

    Создаем папку Libs на диске C ( C:\Libs ).

    Шаг №2: Скачиваем и устанавливаем библиотеку



    Шаг №3: Указываем путь к заголовочным файлам библиотеки

    Открываем свой любой проект в Visual Studio или создаем новый, переходим в "Обозреватель решений" > кликаем правой кнопкой мыши (ПКМ) по названию нашего проекта > "Свойства" :


    В "Свойства конфигурации" ищем вкладку "С/С++" > "Общие" . Затем выбираем пункт "Дополнительные каталоги включаемых файлов" > нажимаем на стрелочку в конце > "Изменить" :


    В появившемся окне кликаем на иконку с изображением папки, а затем на появившееся троеточие:


    Заголовочные файлы находятся в папке include внутри нашей библиотеки, поэтому переходим в нее ( C:\Libs\SDL2-2.0.9\include ) и нажимаем "Выбор папки" , а затем "ОК" :



    Шаг №4: Указываем путь к файлам с реализацией библиотеки

    Переходим на вкладку "Компоновщик" > "Общие" . Ищем пункт "Дополнительные каталоги библиотек" > нажимаем на стрелочку в конце > "Изменить" :


    Опять же, нажимаем на иконку с папкой, а затем на появившееся троеточие. Нам нужно указать следующий путь: C:\Libs\SDL2-2.0.9\lib\x86 . Будьте внимательны, в папке lib находятся две папки: x64 и x86 . Даже если у вас Windows разрядности x64, указывать нужно папку x86 . Затем "Выбор папки" и "ОК" :


    После этого переходим в "Компоновщик" > "Ввод" . Затем "Дополнительные зависимости" > нажимаем на стрелочку в конце > "Изменить" :


    В появившемся текстовом блоке вставляем:


    Затем переходим в "Компоновщик" > "Система" . После этого "Подсистема" > нажимаем на стрелочку вниз > выбираем "Консоль (/SUBSYSTEM:CONSOLE)" > "Применить" > "ОК" :



    Шаг №5: Копируем dll-ку в папку с проектом

    Переходим в папку x86 ( C:\Libs\SDL2-2.0.9\lib\x86 ), копируем SDL2.dll и вставляем в папку с вашим проектом в Visual Studio. Чтобы просмотреть папку вашего проекта в Visual Studio, нажмите ПКМ по названию вашего проекта > "Открыть содержащую папку" :


    Затем вставляем скопированный файл (SDL2.dll) в папку с проектом (где находится рабочий файл .cpp):


    Шаг №6: Тестируем

    Теперь, чтобы проверить, всё ли верно мы сделали — копируем и запускаем следующий код:

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

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

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

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

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

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

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


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

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

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

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

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

    Библиотека Тупого Художника (The Dumb Artist Library, TX Library, TXLib)

    Назначение

    TX Library - компактная графическая библиотека для Win32 на С++. Это небольшая "песочница" для начинающих реализована с целью помочь им в изучении простейших принципов программирования. Документация на русском языке.

    Философия TX Library - облегчить первые шаги в программировании и подтолкнуть к творчеству и самостоятельности.

    TX Library is a tiny graphics library for Win32 written in C++. It is a small sandbox for the very beginners to help them to learn basic programming principles. The documentation is currently in Russian.

    Разделы системы помощи

    Представительство в Интернет

    Предупреждения: Это альфа-версия. Для использования библиотеки требуется согласование с ее автором.

    Скриншоты

    Example03.jpg

    Example03.cpp: Простейшая программа

    Movie.jpg

    Movie.cpp: Мультфильм

    Shaker.jpg

    Shaker.cpp: Простая физическая модель движения

    Phong.jpg

    Phong.cpp: Модель освещения сферы

    Tree.jpg

    Tree.cpp: Простая рекурсия: Дерево

    Tennis.jpg

    Tennis.cpp: Использование картинок

    Предупреждение, или TXLib – это всего лишь инструмент

    Библиотека TXLib – это всего лишь инструмент для того, чтобы облегчить первые шаги в программировании. Однако этот инструмент, как и любой другой, может быть применен неправильно. (Тем не менее, в основу TXLib заложены некоторые принципы, помогающие конструктивному неиллюзорному обучению.)

    Сама по себе любая библиотека или язык программирования не научит начинающего писать программы грамотно. Научит этому разработка своих, достаточно больших проектов, в сочетании с тесным общением профессионалов, желающих помочь начинающим. Такие профессионалы должны обладать и опытом разработки больших программ, и педагогическими навыками, чтобы передать свой опыт начинающим. К сожалению, не всегда это совпадает. Профессионалы-программисты зачастую не хотят лезть в обучение, где хватает своих проблем. С другой стороны, недобросовестные учителя, иногда даже в сильных школах и курсах, хватаются за удобные инструменты обучения (чужие или свои библиотеки, среды и языки программирования), не удосуживаясь следить за качеством кода обучаемых, за стилем и направлением их мышления, ограничиваясь лишь видимостью обучения. Такие образовательные иллюзии очень вредны. Заметны они становятся достаточно поздно, когда выясняется, что ученик, легко пишущий небольшие программы (пусть даже алгоритмически насыщенные, олимпиадные), принципиально не способен написать что-то большее, путается в коде, а другие, в том числе и профессионалы, его не понимают в силу спутанности его мышления и неумения внятно выразить мысли на уровне современных стандартов. Чтобы преодолеть этот барьер, воздвигнутый нерадивым преподавателем (или вашей собственной нерадивостью), приходится серьезно и самостоятельно переучиваться – иногда будучи уже студентом или аспирантом. Либо смириться и "носить кофе программистам".

    Удачи, и May the Source be with you! :)

    Установка библиотеки

    Суффиксы 32 и 64 помогают отличить 32-разрядную и 64-разрядную версии DLL-файлов библиотек. Например, dbghelp32.dll - это просто переименованная 32-разрядная версия файла dbghelp.dll .

    Самораспаковывающийся архив с этими библиотеками можно скачать здесь.

    Для наиболее полной диагностики ошибок полностью отключайте оптимизацию при компиляции. Например, для компилятора GCC g++ - с помощью ключа командной строки -O0 . Разные среды программирования позволяют задать эти ключи по-разному, например, в CodeBlocks через Главное меню - Settings - Compiler - (Global Compiler Settings) - (Compiler Settings) - Other Options.

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