Первое, что нам нужно сделать, прежде чем мы начнем программировать графику — это создать контекст OpenGL и окно приложения для рисования. Однако данные операции являются специфичными для каждой операционной системы, поэтому OpenGL целенаправленно пытается абстрагироваться от них. Это означает, что мы самостоятельно должны создать окно, определить контекст и обрабатывать пользовательский ввод.
К счастью, существует довольно много библиотек, которые обеспечивают необходимый нам функционал, при этом некоторые из них специально нацелены на работу с OpenGL. Эти библиотеки избавят нас от всей специфической работы, связанной с особенностями конкретной операционной системы. Наиболее популярными библиотеками являются: GLUT, SDL, SFML и GLFW. На этих уроках мы будем использовать библиотеку GLFW. Вы также можете использовать и любую другую библиотеку из предоставленного списка, т. к. установка и настройка для большинства из них аналогична установке и настройке GLFW.
Библиотека GLFW
GLFW (англ. «Graphics Library FrameWork») — это библиотека, написанная на языке Си, специально предназначенная для работы с OpenGL. Библиотека GLFW предоставит нам все необходимые инструменты, которые потребуются для рендеринга на экран различных объектов. Благодаря этому мы сможем создавать контексты OpenGL, определять параметры окна и обрабатывать пользовательский ввод, что вполне коррелирует с нашими целями.
Основное внимание на этом и следующем уроках уделяется изучению библиотеки GLFW, созданию корректного контекста OpenGL, а также простого окна, в котором мы и будем рисовать наши объекты. На этом уроке мы пошагово рассмотрим установку библиотеки GLFW, а также процесс сборки и компиляции программы в связке с GLFW.
Примечание: На момент написания данной статьи в качестве среды разработки мы будем использовать Microsoft Visual Studio 2019 (обратите внимание, что наши действия будут аналогичными и с более старыми версиями Visual Studio). Если же вы используете более старую версию Visual Studio (или вообще другую среду разработки), то можете быть спокойны, т. к. процесс установки и настройки GLFW аналогичен в большинстве IDE.
Сборка GLFW
Библиотеку GLFW можно скачать с официального сайта. Стоит отметить, что GLFW уже имеет предварительно скомпилированные бинарные и заголовочные файлы для Visual Studio 2010-2019, но для полноты картины их мы использовать не будем, а вместо этого вручную скомпилируем GLFW из исходного кода. Это делается для того, чтобы вы сами прочувствовали процесс компиляции библиотек с открытым исходным кодом, поскольку не каждая подобная библиотека будет предоставлять возможность скачать предварительно скомпилированные бинарные файлы. Итак, давайте загрузим пакет с исходным кодом.
Примечание: Мы будем собирать все библиотеки в формате 64-битных бинарных файлов, поэтому убедитесь, что скачиваете и используете именно 64-битные бинарные файлы.
После загрузки пакета с файлами исходного кода извлеките и откройте его содержимое. Нас интересуют следующие вещи:
библиотека, которая будет получена в результате компиляции;
Компиляция библиотек из исходного кода гарантирует, что полученная нами библиотека идеально подойдет для нашего процессора и операционной системы, в то время как предварительно скомпилированные бинарные файлы не всегда могут этим похвастаться (иногда они вообще недоступны для вашей системы). Однако проблема проектов, распространяющихся под эгидой открытого программного обеспечения, заключается в том, что не все используют одну и ту же IDE или систему сборки для разработки своего приложения, а это значит, что предоставленные файлы проекта/решения могут быть несовместимы с настройками IDE у других людей. Следовательно, каждый конечный пользователь должен настроить свой собственный проект/решение с учетом полученных *.с / *.cpp и *.h / *.hpp файлов, что почти всегда является довольно трудоемким и громоздким процессом. Но не спешите расстраиваться, для решения данной проблемы уже существует удобный инструмент сборки проектов под названием CMake.
CMake
CMake — это инструмент, который с использованием заранее определенных сценариев может из коллекции файлов исходного кода сгенерировать файлы проектов/решений под выбранную пользователем IDE (например, для Visual Studio, Code::Blocks или Eclipse). Он позволит нам из исходного пакета файлов GLFW создать файл проекта под среду разработки Visual Studio 2019, а затем данный файл мы сможем использовать для компиляции библиотеки. Но сначала нам нужно его скачать, а затем установить.
После установки CMake у вас будет 2 варианта:
запустить CMake из командной строки;
запустить CMake через графический интерфейс.
Поскольку мы не стремимся всё усложнять, то остановимся на варианте с использованием графического интерфейса. Для работы с CMake нам потребуется указать папку с файлами исходного кода проекта (в нашем случае glfw-3.3.2 ) и папку назначения для бинарных файлов. Для папки исходного кода мы собираемся выбрать корневую папку загруженного исходного пакета GLFW, а для папки сборки мы создадим новый каталог build :

В следующем окне необходимо задать используемую версию Visual Studio. Т. к. работать мы будем в Visual Studio 2019, то выбираем опцию «Visual Studio 16 2019» :

Компиляция проекта

После того, как мы создали библиотеку, нужно убедиться, что IDE знает, где найти данный файл, а также другие подключаемые файлы нашей программы OpenGL. Решить этот вопрос можно двумя способами:
Способ №1: Можно скопировать содержимое папки include проекта GLFW в соответствующую папку include вашей IDE или компилятора, а также скопировать полученный файл glfw3.lib в соответствующую папку /lib вашей IDE или компилятора. Данный способ вполне рабочий, но мы его не рекомендуем, так как новая установка IDE или компилятора приведет к тому, что вам заново придется подключать необходимые файлы.
Как только необходимые файлы будут сохранены в выбранном вами месте, мы сможем приступить к созданию нашего первого OpenGL-GLFW-проекта.
Наш первый проект

Теперь у нас есть рабочее пространство для создания нашего самого первого OpenGL-приложения!
Линкинг проекта


Здесь вы можете добавить столько дополнительных каталогов, сколько захотите, и с этого момента IDE при поиске файлов библиотек также будет просматривать и эти директории. Поэтому, как только вы подключите папку Lib из проекта GLFW, вы сможете использовать все файлы библиотек из этой папки. Аналогично обстоят дела и с добавлением папки Include для заголовочных файлов.
Поскольку для VS были указаны все необходимые файлы, то мы, наконец, можем связать GLFW с нашим проектом, перейдя в раздел «Компоновщик» > «Ввод» :

Примечание: В примечании подраздела «Сборка GLFW» сказано, что мы собираем все библиотеки в формате 64-битных бинарных файлов. В то же время число «32» в названии файла OpenGL32.Lib может вызвать некоторую путаницу, как бы намекая на то, что в данном случае используется именно 32-битная версия библиотеки. На самом деле это не так. Если у вас установлен пакет Microsoft SDK, то достаточно просто зайти в папку C:\Program Files (x86)\Windows Kits\10\Lib\[Номер_версии_SDK]\um\x64\ и убедиться, что в ней среди прочих файлов находится и наша библиотека:

Больше того, если зайти в папку C:\Program Files (x86)\Windows Kits\10\Lib\[Номер_версии_SDK]\um\x86\, то и там можно встретить файл OpenGL32.Lib:

Другими словами, под одним названием файла OpenGL32.Lib существует две различные версии (32-битная и 64-битная) библиотеки. Поэтому просто не обращайте внимание на то, что в её имени есть часть «32». Всё прекрасно работает и в 64-битном окружении.
Затем, после добавления библиотек GLFW и OpenGL в настройки компоновщика, вы сможете подключить заголовочные файлы GLFW следующей строкой кода:
Как исправить ошибку Windows Script Host?
С ошибкой сценария хоста Windows можно столкнуться в любое время, независимо от того, какую версию операционной системы вы используете. Неожиданное появление этого сбоя указывает на то, что какой-то модуль работает не так, и необходимо внести соответствующие исправления.
Однако пользователи часто не понимают, какое сообщение содержится в самой ошибке. Путаница происходит потому, что сбой в Windows Script Host не зависит от программного обеспечения, установленного на устройстве. Скорее он представляет собой строку в сценарии, который является частью самой операционной системы.

При этом причины возникновения этой проблемы могут различаться, но чаще всего это указывает на заражение вредоносным ПО. Поэтому в качестве самого первого шага, в попытке исправить ситуацию, следует выполнить полное сканирование системы с помощью надёжного антивирусного программного обеспечения. Помимо этого проблема может быть вызвана повреждёнными системными файлами, ошибками в реестре или чем-то ещё. Поэтому ниже вы найдете несколько решений, для разных ситуаций.
Решение 1. Просканируйте свой компьютер на наличие вредоносных программ
Хотя на рынке существует множество сторонних приложений для защиты системы, Windows включает в себя бесплатный антивирус – Защитник Windows. В настоящее время это программное обеспечение находится на одном уровне со многими известными поставщиками ПО безопасности. Поэтому при отсутствии на компьютере стороннего антивируса, используйте его. Первым делом необходимо выяснить, заключается ли проблема в наличии вредоносных программ на ПК.

Это действие перезагрузит компьютер и запустит глубокое сканирование системы.
Решение 2. Запустите сканирование SFC и DISM
Средство проверки системных файлов может диагностировать и восстанавливать проблемные или повреждённые системные данные Windows:

Если сканирование SFC ничего не нашло или не смогло исправить обнаруженные нарушения целостности, вам следует выполнить восстановление образа Windows с помощью DISM. Откройте командную строку от имени администратора ещё раз и запустите следующие команды, нажимая Enter после каждой:
Решение 3. Восстановите значение VBS по умолчанию через реестр
Неправильное изменение реестра Windows может привести к ошибкам, повреждению системных файлов и ОС. Убедитесь, что вы сделали резервную копию базы данных, прежде чем переходить к следующим шагам.

Решение 4. Отключите Windows Script Host через реестр
Windows Script Host был представлен в Windows 98 – он позволяет запускать на компьютере больше языков программирования. К сожалению, если вредоносному ПО удастся проникнуть в устройство, оно может злоупотребить этим и получить доступ к большему количеству внутренних функций. Таким образом, полное отключение Windows Script Host, если он не используется, является хорошей практикой безопасности, которая также остановит появление связанной с ним ошибки.

Примечание. При каждой попытке запуска файла VBS вы будете получать сообщение об ошибке: «Доступ к сценарию хоста Windows отключён на этом компьютере». Вы можете повторно включить его, изменив значение ключа в упомянутых разделах реестра на 1.
https://ravesli. com/urok-2-podgotovka-k-pervomu-proektu-opengl-nastrojka-glfw-cmake-i-glad/
https://gamesqa. ru/kompyutery/kak-ispravit-oshibku-windows-script-host-23016/