Я потратил все выходные, пытаясь визуализировать белый треугольник с помощью OpenGL - эквивалент наших программ «Hello World» - поэтому я записываю шаги, которые помогли мне победить этого зверя. Ваше здоровье!

Что такое MinGW?

MinGW - это минимальный порт Windows для инструментов компилятора GNU, таких как GCC, G ++, Make и т. Д. По умолчанию код, скомпилированный в GCC MinGW, компилируется в родную цель Windows, включая файлы .exe и .dll. По сути, это альтернатива компилятору Microsoft Visual C ++ и связанным с ним инструментам компоновки / создания. Вот хорошее чтение.

Шаг 1. Проверьте, установлен ли OpenGL.

Убедитесь, что opengl32.dll и glu32.dll находятся в папке C: \ Windows \ System32 \. В основном он должен поставляться с системой в этом месте.

Вы также можете установить программу просмотра расширений OpenGL из здесь, которая покажет вам текущую версию OpenGL, установленную в вашей системе. Вы можете обновить драйверы с помощью этого инструмента. Перейдите сюда за дополнительной помощью.

Шаг 2. Загрузите MinGW-w64

Вы можете загрузить последнюю версию MinGW-w64 из здесь и распаковать ее с помощью 7-Zip ( Загрузить 7-Zip ). Я загрузил следующий файл: MinGW-W64 GCC-8.1.0 x86_64-posix-sjlj, поскольку онлайн-установщик не работал.

После распаковки скопируйте папку mingw64 в C: \

Добавьте C: \ mingw64 \ bin в путь к системным переменным среды. Руководство: Как добавить Путь в Windows 10.

Также добавьте C: \ mingw64 \ x86_64-w64-mingw32 \ bin в путь к переменным системной среды.

Быстрая проверка:
Откройте командную строку и выполните «g++ --version», чтобы узнать версию.

Шаг 3. Установите CMake

CMake - это кроссплатформенное семейство инструментов, предназначенных для создания, тестирования и упаковки программного обеспечения. Он будет использоваться для создания файлов сборки MinGW, необходимых для сборки и установки следующих библиотек: Freeglut и GLEW.

Вы можете скачать и установить CMake здесь.
Примечание. Установите флажок, чтобы добавить CMake в системный путь. Если вы этого не сделали, узнайте, где он установлен, и добавьте его папку bin в системный путь. Например, в моем случае это был C: \ Program Files \ CMake \ bin

Быстрая проверка:
Откройте командную строку и выполните «cmake --version», чтобы узнать версию.

Шаг 4: Установите FreeGLUT

FreeGLUT - это альтернатива библиотеке GLUT (OpenGL Utility Toolkit) с открытым исходным кодом, которая позволяет пользователю создавать и управлять окнами, содержащими контексты OpenGL, на широком спектре платформ, а также читать функции мыши, клавиатуры и джойстика. Источник: Википедия.

Загрузите последнюю версию Freeglut с здесь . Я загрузил Freeglut 3.0.0 . Это должен быть файл tar.gz, поэтому вам, возможно, придется дважды распаковать его с помощью 7-Zip.

Перейдите в папку freeglut (она должна содержать файл CMakeLists.txt) и откройте командную строку в этом месте, чтобы выполнить следующую команду:

Используйте «cmake --help», чтобы узнать о различных параметрах (-G, -S, -B, -D).
CMAKE_INSTALL_PREFIX устанавливается в то место, где мы хотим установить файлы библиотеки Freeglut, чтобы наш будущий код OpenGL мог использовать его заголовки.

Следующее выполнение:« mingw32-make all »
mingw32-make является частью пакета C: \ mingw64 \ bin
Примечание: вы можете получить много предупреждений, но не паникуйте.

Наконец, выполните:« mingw32-make install », чтобы заголовки включения, файлы lib и bin были скопированы в соответствующие папки CMAKE_INSTALL_PREFIX (то есть C: \ mingw64 \ x86_64-w64-mingw32)

Шаг 5: Установите GLEW

Библиотека OpenGL Extension Wrangler (GLEW) - это кроссплатформенная библиотека C / C ++, которая помогает запрашивать и загружать расширения OpenGL. GLEW предоставляет эффективные механизмы времени выполнения для определения того, какие расширения OpenGL поддерживаются на целевой платформе. Источник: Википедия.

Шаги по установке GLEW аналогичны шагу 4 (Установка FreeGLUT).

Загрузите последнюю версию GLEW здесь. Скачал GLEW 2.1.0. Распакуйте сжатый файл.

Перейдите в папку glew и найдите местоположение CMakeLists.txt
. Он находится здесь: glew-2.1.0 \ build \ cmake \ CMakeLists. txt
Откройте командную строку в этом месте и выполните следующую команду:

Следующее выполнение:« mingw32-make all »

Наконец, выполните:« mingw32-make install »

Шаг 6: напишите пример кода OpenGL

Пришло время воспользоваться преимуществами предыдущих шагов. Создайте простой пример OpenGL на C ++ следующим образом и вызовите файл треугольник.cpp.

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

Выполните команду:
g++ triangle.cpp -o triangle -lopengl32 -lglew32 -lfreeglut -lglu32

Будет создан исполняемый файл треугольник.exe, который можно запустить из командной строки или открыть из папки как любое приложение exe.

Дополнительная информация и отладка

›GLFW - это облегченная служебная библиотека для использования с OpenGL. Это игровая альтернатива FreeGLUT. Вы можете скомпилировать и установить GLFW так же, как мы установили FreeGLUT и GLEW. Вы можете скачать исходный код здесь. Полезные ссылки: FreeGLUT vs glfw Википедия

›Если вы получаете такие ошибки, как« Нет такого файла или каталога »для импортированного файла заголовка, это означает, что файл заголовка отсутствует в путях поиска g ++ / gcc. Вы можете проверить, где средство g ++ ищет файлы заголовков, запустив с параметром «-v» следующее:
g++ -v triangle.cpp -o triangle -lopengl32 -lglew32 -lfreeglut -lglu32

Убедитесь, что заголовки доступны в этих путях поиска, скопировав их или переустановив, изменив место установки (флаг CMAKE_INSTALL_PREFIX)

Точно так же, если вы сталкиваетесь с ошибкой. dll не найден, убедитесь, что местоположение dll добавлено в Путь переменных системной среды.

Шаг 7. Установите GLFW (необязательно)

Загрузите последний пакет исходного кода GLFW с здесь . Я скачал glfw-3.2.1 и распаковал его.

Откройте командную строку, перейдите в ее папку и выполните следующие действия:

Следующее выполнение:« mingw32-make all »

Наконец, выполните:« mingw32-make install »

Финал

Спасибо, что прочитали мое руководство, и надеюсь, что оно помогло вам настроить среду OpenGL. Не стесняйтесь комментировать вопросы и отзывы. Ваше здоровье! :)