matus-chochlik / oglplus

OGLplus is a collection of open-source, cross-platform libraries which implement an object-oriented facade over the OpenGL® (version 3 and higher) and also OpenAL® (version 1.1) and EGL (version 1.4) C-language APIs. It provides wrappers which automate resource and object management and make the use of these libraries in C++ safer and more convenient.
http://oglplus.org/
Boost Software License 1.0
491 stars 72 forks source link

::glPauseTransformFeedback’ has not been declared #65

Closed Schneegans closed 10 years ago

Schneegans commented 10 years ago

Hey there! First of all: Thanks for this awesome library! I'm using it for a while now and I really appreciate it. Today I tried to compile an application using oglplus on another computer and run into a strange error I failed to fix.

System:

Steps I performed:

Do you have a hint how this problems may be solved? Do you need more information? Thanks for the effort!

matus-chochlik commented 10 years ago

Thanks for reporting this, it seems that there are some problems with ifdef guards for transform feedback and other things. But this also might be a GLEW bug (GLEW is known for sometimes missing some functions that are required by the GL specification).

Could you check your GLEW version and also check the GLEW header itself and see if glPauseTransformFeedback is defined?

matus-chochlik commented 10 years ago

In the meantime, you could try to use GL/glcorearb.h and libGL.so directly. I usually do that and it works without problems on Ubuntu. You just need to specify to the configure script the directory where 'GL/glcorearb.his located with the--include-diroption and the directory where thelibGL.soyou want to use (the one comming with the nVidia driver) is installed with the--library-diroption and also specify the--use-glx` option. Try ./configure.py --help for more info.

Schneegans commented 10 years ago

Thanks for the quick reply! My current GLEW version is 1.5.7 and it only defines glPauseTransformFeedbackNV. I switched to GLEW 1.6.0 and now this part of the issue is resolved!

gcc still complains about oglplus/texture.hpp:294:37: error: no members matching ‘oglplus::ObjBindingOps<oglplus::tag::Texture>::BindImage’ in ‘class oglplus::ObjBindingOps<oglplus::tag::Texture>’

matus-chochlik commented 10 years ago

There was a missing ifdef guard in texture.hpp. I've fixed that in commit 3af082888e40722380a81dceec5d132ce49453b6. Please pull the latest from the develop branch a let me know if it works for you.

Schneegans commented 10 years ago

Thank you very much! I'll have to wait until monday, since I don't have access to the computer for trying it now. Have a nice weekend!

Schneegans commented 10 years ago

The issue is resolved. Everything works as supposed! Thanks for the hard work and the quick fix!