Как связать GLEW, GLFW и OpenGL с g ++ MingW - PullRequest
0 голосов
/ 09 мая 2020

Я изучаю курс по OpenGL.

Итак, я запустил свой проект в Visual Studio 2019, и он работает.

В Visual Studio мне нужно было сделать следующее:

  1. Добавить дополнительные каталоги GLEW и GLFW include . (при загрузке библиотек это просто расположение включаемого файла)
  2. Добавьте дополнительные каталоги библиотеки GLEW и GLFW. (расположение папок lib)
  3. Добавьте дополнительные зависимости . (opengl32.lib, glew32.lib, glfw3.lib)
  4. Скопируйте и вставьте GLEW.dll в файлы проекта, рядом с main. cpp.

И я запускаю свой код, и он работает.

Но я не хочу использовать Visual Studio 2019, я бы предпочел работать в Notepad ++ или VSCode, мне действительно нужно просто сделать проект из чистого блокнота и скомпилировать это с новый Windows Терминал .

Мой вопрос: как я могу делать все то, что я делал в Visual Studio 2019, из Power Shell ?

Я слышал, что MingW поставляется с собственной оболочкой питания или командной строкой. Думаю, мне нужно найти ее и дать несколько команд, чтобы связать все, прежде чем я начну кодировать.

Где мне найти эквивалент оболочки Power для MingW и какие команды мне нужно набрать?

Я застрял на этом целую вечность и не мог найти никакой информации об этом в Интернете. (кроме того, что делает -L и -l, но это не команды power shell )

1 Ответ

1 голос
/ 10 мая 2020

Компиляторы MingGW и mingw-w64 являются инструментами командной строки Windows. Это Windows порты (некоторых из) компиляторов G CC. tdm-g cc - еще один выбор.

Командные инструменты для любой операционной системы не нуждаются в собственной оболочке. Вы можете запускать их в любой оболочке, установленной в этой операционной системе. На Windows сегодня у вас есть выбор, по крайней мере, из PowerShell и старой оболочки CMD.

Проект MinGW наряду с его набором инструментов G CC предоставляет минимальную unix -подобную среду для Windows под названием MSYS, который включает оболочку. MSYS не требуется для запуска компилятора.

Пока инструменты G CC могут находиться в значении переменной среды PATH, которая действует в shell во время компиляции, затем вы запускаете компилятор в приглашении оболочки:

>gcc [options...]
>g++ [options...]

так же, как он запускается в любой операционной системе. Если вы хотите работать с набором инструментов G CC, тогда вопрос:

Как я могу делать все то, что я делал в Visual Studio 2019, из Power Shell?

- это просто вопрос: Как вы запускаете G CC? Это вопрос широкой общности. Вам необходимо изучить соответствующие книги и документацию

Очень схематично, если вы хотите скомпилировать и связать программу на C ++, которая имеет исходные файлы main.cpp и other.cpp и зависит от библиотек foo и bar, чьи API C ++ определены в файлах заголовков и реализованы в библиотеках DLL, вы сделаете это с помощью команд следующей формы:

Чтобы скомпилировать исходные файлы в объект files:

>g++ -c -o main.obj main.cpp -I/path/to/foo/header/files -I/path/to/bar/header/files [any other compilation options....]
>g++ -c -o other.obj other.cpp -I/path/to/foo/header/files -I/path/to/bar/header/files [any other compilation options....]

Чтобы связать объектные файлы и библиотеки, чтобы создать возбуждаемую программу:

>g++ -o prog main.obj other.obj -L/path/to/foo_dll -L/maybe/a/different/path/to/bar_dll -lfoo -lbar [any other linkage options...]

И если все это успешно, то программа будет prog.exe, и вы сможете запустите его:

>prog

точно так же, как вы запускали g++, при условии, что foo.dll и bar.dll могут быть найдены во время выполнения с помощью протокола поиска DLL загрузчика ОС

Как я думаю, вы понимаете, что в реальной жизни никто не создает программы, набирая все команды в оболочке, за исключением учебных целей. Они используют систему сборки или IDE для ее автоматизации. Но это правда, что сборка программ с помощью системы сборки или среды IDE представляет меньше трудностей, если вы делаете это с базовым c gr asp тем, как работают инструменты, лежащие в основе этого.

...