Как я могу исправить эти проблемы с OpenGL в MinGW? - PullRequest
3 голосов
/ 23 октября 2010

У меня есть проект, который я кодировал на OS X, который я сейчас пытаюсь построить на Windows. Я настроил MinGW, создал make-файл, и после долгих проверок все компилируется, однако, когда он попадает на шаг компоновщика, возникает большое количество ошибок в следующем виде:

SourceFile.cpp:(.text+0x1809): undefined reference to 'glEnable@4'

Команда компоновщика, пропускающая все имена source.o, довольно проста:

g++ -lglu32 -lopengl32

Я также пробовал с переключенным порядком ссылок, и с полным путем к включенным файлам .a все они дают одинаковые результаты. Использование макросов _STDCALL_SUPPORTED и _M_IX86 на этапе компиляции не имеет никакого значения.

В случае, если это уместно, я использую GLee, который я встраиваю прямо в свою программу (хотя я тоже пробовал с glew, и получил те же результаты).

Любая помощь будет оценена.

Ответы [ 2 ]

8 голосов
/ 24 октября 2010

Решение было безумно простым, по причинам, которые я не до конца понимаю, -lglu32 -lopengl32 должен был находиться справа от списка файлов .o вместо левого в команде.

1 голос
/ 01 мая 2016

Причины просты. Как вещи связывают, для линии связи, у которой есть вещи в этом порядке: A B C D

B разрешает внешнее в A, C разрешает внешнее в A и B и так далее. Если в D есть внешние элементы, которые нужно разрешить с помощью A, вам нужно включить A после D ... который IIRC, вы можете уйти, добавив A снова ...

A B C D A

...