
Visual Studio 2019 по умолчанию не поддерживает библиотеку graphics.h, поэтому для работы с графикой на языке C/C++ требуется предварительная настройка проекта и интеграция сторонних файлов. Корректное подключение включает установку дополнительных заголовочных файлов, библиотек и правильную конфигурацию путей компилятора.
Первый шаг – загрузка актуальной версии WinBGIm, которая предоставляет реализацию функций graphics.h для Windows. После скачивания необходимо скопировать файлы graphics.h и winbgim.h в папку Include вашей установки Visual Studio, а файлы libbgi.a – в каталог Lib. Неправильное расположение файлов является частой причиной ошибок компиляции.
Далее требуется настроить проект: в свойствах проекта укажите дополнительные каталоги включения и библиотек, добавьте линковку с libbgi.a, а также установите корректные параметры компиляции для C++17 или выше. Без этих настроек компилятор не распознает функции типа initgraph(), line() или circle().
Завершающий этап – проверка работоспособности. Создайте минимальный тестовый файл с базовым графическим окном и простым рисунком. Если окно открывается и функции работают корректно, интеграция завершена. Любые ошибки на этом этапе обычно указывают на несоответствие версий файлов или неправильную конфигурацию проекта.
Подключение graphics.h в Visual Studio 2019: пошаговое руководство

Скачайте библиотеку WinBGIm, совместимую с Visual Studio 2019, с официального репозитория или надежного источника. Не используйте устаревшие версии BGI, так как они не поддерживают современные компиляторы.
Распакуйте архив в удобную директорию, например, C:\BGI. Внутри должны находиться файлы: graphics.h, winbgim.h, libbgi.a, а также соответствующие .lib и .dll файлы.
Откройте Visual Studio 2019, создайте новый проект C++ типа Console Application. Перейдите в свойства проекта через «Project» → «Properties».
В разделе «C/C++ → General → Additional Include Directories» добавьте путь к папке с заголовочными файлами, например C:\BGI. Убедитесь, что путь указан корректно для всех конфигураций (Debug/Release).
В разделе «Linker → General → Additional Library Directories» добавьте путь к папке с библиотеками (C:\BGI\lib). В «Linker → Input → Additional Dependencies» пропишите libbgi.a или соответствующую .lib, если используете статическую компоновку.
Скопируйте файлы DLL (если библиотека динамическая) в каталог с исполняемым файлом проекта или в системную папку Windows для автоматического обнаружения при запуске.
В исходном коде подключите библиотеку через директивы: #include <graphics.h>. Для корректной работы вызовов initwindow укажите размеры окна и заголовок, например: initwindow(800, 600, "Пример").
После внесения изменений очистите и соберите проект. Ошибки линковки чаще всего связаны с неверными путями или несоответствием архитектуры библиотеки и проекта (x86/x64).
Проверка работоспособности: создайте простой пример с drawline или circle. Если окно графики открывается и рисование выполняется корректно, настройка завершена.
Скачивание и установка библиотеки WinBGIm для Visual Studio
Скачайте архив WinBGIm с официального репозитория на GitHub по ссылке: https://github.com/ferzkopp/WinBGIm. В архиве содержатся файлы include, lib и примеры проектов.
Распакуйте архив в удобное место на диске, например, C:\WinBGIm. Убедитесь, что структура каталогов сохранена: include и lib должны находиться в корне папки WinBGIm.
Откройте Visual Studio 2019 и создайте новый проект C++ с консольным приложением.
Перейдите в свойства проекта: Правка проекта → Свойства → Конфигурация → С/С++ → Общие → Дополнительные каталоги включаемых файлов. Добавьте путь к папке include, например, C:\WinBGIm\include.
В разделе Компоновщик → Общие → Дополнительные каталоги библиотек добавьте путь к папке lib: C:\WinBGIm\lib.
В Компоновщик → Ввод → Дополнительные зависимости укажите файлы библиотек: libbgi.a; opengl32.lib; glu32.lib; comdlg32.lib; uuid.lib; gdi32.lib.
Скопируйте файлы winbgim.h и graphics.h в каталог include вашего проекта или используйте путь к глобальной include-папке, чтобы заголовки были доступны во всех проектах.
После этих шагов проект готов к использованию функций graphics.h. Для проверки создайте минимальный пример: инициализация окна с initwindow и отрисовка простых фигур. Ошибки компоновки укажут на неверные пути к библиотекам или отсутствующие файлы.
Создание нового проекта C++ с поддержкой графики

Откройте Visual Studio 2019 и выберите Создать проект. В списке шаблонов отметьте Консольное приложение C++ и задайте имя проекта. Убедитесь, что выбран параметр Пустой проект, чтобы исключить автоматическое добавление файлов, не относящихся к графике.
После создания проекта в Обозревателе решений кликните правой кнопкой на Источник файлов и выберите Добавить → Новый элемент. Создайте файл с расширением .cpp, например main.cpp. Этот файл станет основной точкой входа для вашей графической программы.
Для использования библиотеки graphics.h необходимо подключить заголовочный файл в начале main.cpp:
#include <graphics.h>
Далее настройте свойства проекта: кликните правой кнопкой на проекте → Свойства → Параметры C/C++ → Общие → Дополнительные каталоги включаемых файлов. Укажите путь к папке, где находится graphics.h. Аналогично для Компоновщик → Общие → Дополнительные каталоги библиотек добавьте путь к файлам .lib.
После этого создайте точку входа в программу с инициализацией графического режима:
int gd = DETECT, gm;
initgraph(&gd, &gm, «»);
Завершите работу графического режима вызовом closegraph(); перед выходом из функции main. Такой порядок гарантирует корректное отображение графики и освобождение ресурсов.
Теперь проект готов к компиляции и запуску. Visual Studio 2019 автоматически обработает подключение библиотек, если пути указаны верно, что позволяет сразу тестировать графические функции.
Настройка путей к заголовочным файлам и библиотекам

Откройте свойства проекта через контекстное меню на названии проекта в Solution Explorer. В разделе C/C++ → Общие → Дополнительные каталоги включаемых файлов добавьте путь к папке с graphics.h, например C:\WinBGIm\include. Используйте абсолютный путь для точного определения местоположения файла.
В разделе Компоновщик → Общие → Дополнительные каталоги библиотек укажите директорию с библиотеками WinBGIm, например C:\WinBGIm\lib. Это обеспечит компоновщику доступ к graphics.lib и winbgim.lib.
В Компоновщик → Ввод → Дополнительные зависимости добавьте graphics.lib, winbgim.lib, gdi32.lib. Отсутствие любой из этих библиотек приведет к ошибкам линковки.
После настройки путей нажмите Применить и ОК, затем пересоберите проект. Если компилятор не обнаруживает graphics.h, проверьте, что указанный путь ведет непосредственно к папке с файлом, а не к родительской директории.
Подключение graphics.h и winbgim.h в проект

Для работы с графикой в Visual Studio 2019 требуется использовать библиотеку WinBGIm, совместимую с Borland Graphics Interface. Основные файлы: graphics.h и winbgim.h.
Шаги подключения:
| Этап | Описание |
|---|---|
| 1. Скачивание файлов | Скачайте graphics.h, winbgim.h и libbgi.a с официального репозитория WinBGIm. |
| 2. Копирование файлов | Поместите graphics.h и winbgim.h в каталог Include Visual Studio (обычно C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\). |
| 3. Подключение библиотеки | Файл libbgi.a скопируйте в каталог Lib Visual Studio (C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\ для 64-bit). |
| 4. Настройка проекта | В Visual Studio откройте свойства проекта → «Linker» → «Input» → «Additional Dependencies» и добавьте libbgi.a. В «C/C++ → General → Additional Include Directories» добавьте путь к Include. |
| 5. Подключение в коде | В начале файла добавьте строки:#include <graphics.h>#include <winbgim.h> |
| 6. Проверка работы | Создайте простой проект с функциями initgraph() и closegraph(). При успешной компиляции библиотека подключена корректно. |
Важно: версии Visual Studio и архитектура (x86 или x64) должны совпадать с используемыми библиотеками, иначе возникнут ошибки компоновки.
Для упрощения рекомендуется хранить файлы WinBGIm в отдельной папке проекта и указывать путь к ним в свойствах проекта. Это уменьшает риск конфликтов с другими библиотеками.
Настройка опций компоновщика для использования графической библиотеки

Откройте свойства проекта через контекстное меню проекта и перейдите в раздел Свойства → Компоновщик → Ввод.
В поле Дополнительные зависимости добавьте библиотеку graphics.lib. Укажите точное имя файла, соответствующее вашей версии библиотеки, включая расширение.
Перейдите в раздел Компоновщик → Общие и в параметре Дополнительные каталоги библиотек пропишите путь к папке, где находится graphics.lib. Используйте абсолютный путь или переменные среды Visual Studio, например $(ProjectDir)\lib.
Убедитесь, что для целевой платформы (Win32 или x64) указан корректный путь к библиотеке. Несоответствие архитектуры приведет к ошибкам линковки.
Для статической линковки проверьте, что Свойства → Компоновщик → Системные используют правильный Подсистема, обычно Консоль (/SUBSYSTEM:CONSOLE) для тестовых примеров.
После внесения изменений сохраните настройки и выполните полную пересборку проекта через Построить → Перестроить решение, чтобы компоновщик учел новые пути и зависимости.
Ошибки вида «LNK1104: невозможно открыть файл» указывают на неверный путь к graphics.lib или несовпадение архитектуры. Проверьте корректность путей и соответствие версии библиотеки целевой платформе.
Создание первой графической программы с initgraph
Для начала создаем новый проект C++ в Visual Studio 2019 с консольным приложением. Убедитесь, что подключили библиотеку graphics.h и правильно настроили путь к winbgim в свойствах проекта.
Следующие шаги позволят создать минимальную графическую программу:
- Подключите необходимые заголовочные файлы:
#include <graphics.h>– основной заголовок для функций графики.#include <conio.h>– для функцииgetch(), чтобы удерживать окно открытым.- Инициализация графического режима:
gd– графический драйвер, обычноDETECT.gm– графический режим, задается автоматически.- Последний параметр – путь к драйверам BGI, можно оставить пустым, если файлы находятся в каталоге проекта.
- Пример кода первой программы:
- Рекомендации по отладке:
- Если окно не открывается, проверьте путь к
BGIв свойствах проекта:С/С++ → Общие → Дополнительные каталоги включаемых файлов. - Проверяйте наличие
Отладка ошибок подключения и компиляции graphics.h
При работе с
graphics.hв Visual Studio 2019 часто возникают ошибки компиляции, связанные с отсутствием библиотек или неправильными путями. Ниже приведены конкретные шаги для диагностики и исправления проблем.-
Проверка наличия файлов: убедитесь, что файлы
graphics.h,winbgim.hиlibbgi.aнаходятся в правильных папках:graphics.hиwinbgim.h– вIncludeвашего компилятора (обычноC:\Program Files (x86)\Microsoft Visual Studio\VC\Tools\MSVC\...\include).libbgi.a– вLib(...\VC\Tools\MSVC\...\lib).
-
Настройка путей к заголовочным файлам: в Visual Studio 2019:
- Проект → Свойства → C/C++ → Общие → Дополнительные каталоги включаемых файлов.
- Добавьте путь к папке с
graphics.h.
-
Настройка путей к библиотекам:
- Проект → Свойства → Компоновщик → Общие → Дополнительные каталоги библиотек.
- Укажите путь к
libbgi.a. - Компоновщик → Ввод → Дополнительные зависимости:
libbgi.a.
-
Ошибки при компиляции: чаще всего возникают следующие сообщения:
fatal error: graphics.h: No such file or directory– заголовочный файл не найден. Проверьте путь к Include.unresolved external symbol– линкер не видит библиотеку. Проверьте путь к Lib и наличиеlibbgi.aв дополнительных зависимостях.
-
Использование совместимых версий компилятора:
graphics.hлучше использовать с MinGW, а не с MSVC, если возникнут проблемы сlibbgi.a. Для MSVC необходима конверсия библиотеки в формат.lib. -
Проверка конфигурации проекта:
- Сборка должна происходить в режиме Win32, а не x64, если используется оригинальная
libbgi.a. - При 64-битной конфигурации необходимо использовать 64-битную версию MinGW.
- Сборка должна происходить в режиме Win32, а не x64, если используется оригинальная
-
Диагностика с помощью примера: создайте минимальный проект:
#include <graphics.h> int main() { int gd = DETECT, gm; initgraph(&gd, &gm, ""); circle(200, 200, 50); getch(); closegraph(); return 0; }Если этот код компилируется и запускается, настройки корректны. Если возникают ошибки, возвращайтесь к проверке путей Include и Lib.
Запуск программы и отображение графических элементов
После подключения graphics.h в Visual Studio 2019 необходимо убедиться, что библиотека корректно подключена к проекту. Для этого откройте Project Properties → C/C++ → General → Additional Include Directories и укажите путь к папке с заголовочными файлами. Аналогично в Linker → General → Additional Library Directories добавьте путь к библиотеке.
Создайте основной файл с функцией main() и подключением #include <graphics.h>. Инициализация графического режима выполняется с помощью функции initgraph(<driver>, <mode>, <path>). Рекомендуется использовать DETECT для автоматического определения драйвера, а path указывать к папке с BGI-файлами.
После инициализации можно отображать графические элементы: line(), circle(), rectangle(), ellipse(). Для каждой функции требуется точное указание координат. Например, line(100, 150, 400, 150) создаст горизонтальную линию между указанными точками. Цвет устанавливается через setcolor(COLOR), где COLOR – одна из стандартных констант, например RED, BLUE, GREEN.
После завершения отрисовки рекомендуется вызвать getch() для ожидания нажатия клавиши и closegraph() для корректного завершения графического режима. Игнорирование этих функций может привести к некорректному закрытию окна и сбоям программы.
Для отладки используйте delay(ms) между вызовами графических функций, чтобы отслеживать последовательность отрисовки. Оптимальная задержка для тестирования визуальных эффектов составляет 300–500 мс.
Вопрос-ответ:
Почему при подключении graphics.h в Visual Studio 2019 возникает ошибка "Cannot open include file"?
Ошибка появляется, потому что стандартная библиотека graphics.h не входит в состав современных версий Visual Studio. Для работы с ней нужно подключить дополнительные файлы: winbgim.h и libbgi.a, а также настроить пути к заголовочным файлам и библиотекам в настройках проекта.
Какие шаги нужно выполнить, чтобы graphics.h заработала в проекте на C++?
Сначала необходимо скачать совместимую с Visual Studio версию библиотеки WinBGIm. После этого нужно добавить файлы winbgim.h и graphics.h в папку с заголовочными файлами Visual Studio, а файл libbgi.a — в каталог библиотек. Затем в настройках проекта указать эти каталоги и подключить библиотеку в свойствах линкера.
Как настроить проект в Visual Studio 2019 для использования функций graphics.h?
В свойствах проекта откройте "C/C++ → Общие → Дополнительные каталоги включаемых файлов" и укажите путь к заголовочным файлам. В разделе "Компоновщик → Общие → Дополнительные каталоги библиотек" добавьте путь к библиотеке. В "Компоновщик → Ввод → Дополнительные зависимости" пропишите libbgi.a. После этого функции graphics.h будут доступны в коде.
Можно ли использовать graphics.h с 64-битной версией Visual Studio 2019?
Да, но для этого нужно использовать 32-битную конфигурацию проекта, так как библиотека WinBGIm совместима только с 32-битной сборкой. При попытке скомпилировать 64-битный проект возникнут ошибки линковки. Создайте конфигурацию x86 и используйте её для работы с графикой.
Какие альтернативы graphics.h доступны для Visual Studio 2019?
Вместо устаревшей graphics.h можно использовать современные библиотеки для работы с графикой, такие как SFML, SDL, OpenGL или Qt. Они поддерживаются в Visual Studio 2019 и позволяют создавать более сложные графические приложения без ограничений старой библиотеки.
-
Используется функция initgraph(&gd, &gm, "");, где:
#include <graphics.h>
#include <conio.h>
int main() {
int gd = DETECT, gm;
initgraph(&gd, &gm, "");
scssCopyEditcircle(200, 200, 100); // рисует окружность с центром в (200,200) и радиусом 100
rectangle(100, 100, 300, 300); // рисует прямоугольник
line(50, 50, 350, 350); // рисует линию
getch(); // ожидание нажатия клавиши
closegraph(); // закрывает графическое окно
return 0;
}
