Я потратил все выходные, пытаясь визуализировать белый треугольник с помощью 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. Не стесняйтесь комментировать вопросы и отзывы. Ваше здоровье! :)