почему компиляция проекта GLUT в NetBeans с MinGW не работает - PullRequest
0 голосов
/ 13 мая 2010

У меня такая ситуация, я использую Netbeans 6.8 с рекомендуемой конфигурацией MinGW + msys, и компиляция работает. Теперь у меня есть проект, который использует glut, поэтому я связал библиотеки opengl32, glut32, glu32, gdi32, winmm, mingw32 в «свойства проекта-> build-> linker-> library», я вручную выбрал все файлы .lib и сборник работает!

Но затем я добавил в проект некоторые другие файлы h и cpp (загрузчики текстур и т. Д.), В которых используется glut, и они #include, и в IDE это нормально, но когда я пытаюсь скомпилировать код, появляются ошибки появляется при компиляции этих файлов:

.../Terrain.cpp:132: undefined reference to `_imp__glVertex3fv'
.../Terrain.cpp:135: undefined reference to `_imp__glTexCoord2d'
.../Terrain.cpp:139: undefined reference to `_imp__glNormal3fv'
.../Terrain.cpp:140: undefined reference to `_imp__glVertex3fv'

И тонны больше. В моем понимании это означает, что файлы lib не связаны, но они связаны в проекте, и основной файл может использовать все это без проблем.

Я попробовал все, но я, вероятно, что-то упустил. Также проект (создание нового проекта из файлов в vs2010) может быть скомпилирован с использованием компилятора vs2010.

Пожалуйста, помогите, есть ли у кого-то опыт в связывании библиотек с MinGW в NetBeans?

Ответы [ 2 ]

1 голос
/ 23 декабря 2010

«Ответ» не должен включать windows.h до того, того или другого. Вам просто нужно убедиться, что в glut32.dll используется соглашение __stdcall.

Выполните процедуру сборки библиотеки GLUT для Win32 с MinGW в следующем месте:

http://www.mingw.org/wiki/HOWTO_Compile_the_OpenGL_Utility_Toolkit_GLUT_for_Win32_with_MinGW

0 голосов
/ 13 мая 2010

Каждый файл, использующий glut.h, должен включать windows.h , прежде чем включать gl.h или glut.h ..

Заняло довольно много времени, надеюсь, это кому-нибудь поможет (я тоже искал здесь решение).

Примечание: я нашел ответ здесь текст ссылки , в разделе 2.070 описана ошибка, такая как ...undefined reference to ..., но решение windows.h описано в другом типе ошибки (

c:\program files\microsoft visual studio\vc98\include\gl\gl.h(1152) : 
error C2054: expected '(' to follow 'WINGDIAPI'
c:\program files\microsoft visual studio\vc98\include\gl\gl.h(1152) : 
error C2085: 'APIENTRY' : not in formal parameter list

)

...