SFML community forums
General => General discussions => Topic started by: naTpuK on January 02, 2010, 04:16:06 pm
-
While tring to compile some OGL 3.2 stuff i get "identifier not find" errors, i included sfml/opengl, window and graphics.. but still get these..
P.S. when directly including hlew there's no errors =(
-
Are you running SFML2? I believe that's the only one with OGL3.x support.
I'm not sure if it's related, but with glGetIntegerv() said that my context is OpenGL version 3.0.
Either mine's running behind, SFML2 only has support for 3.0 and not 3.2, or something else.
-
yep, i'm using smfl 2
and created 3.2 Ogl context with sf::ContextSettings..
but still get errors
-
Can you show the exact error messages?
-
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(24) : error C3861: glGenVertexArrays: идентификатор не найден
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(25) : error C3861: glBindVertexArray: идентификатор не найден
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(26) : error C3861: glGenBuffers: идентификатор не найден
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(27) : error C2065: GL_ARRAY_BUFFER: необъявленный идентификатор
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(27) : error C3861: glBindBuffer: идентификатор не найден
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(28) : error C2065: GL_ARRAY_BUFFER: необъявленный идентификатор
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(28) : error C2065: GL_STATIC_DRAW: необъявленный идентификатор
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(28) : error C3861: glBufferData: идентификатор не найден
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(30) : error C3861: glVertexAttribPointer: идентификатор не найден
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(32) : error C3861: glEnableVertexAttribArray: идентификатор не найден
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(34) : error C2065: GL_ARRAY_BUFFER: необъявленный идентификатор
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(34) : error C3861: glBindBuffer: идентификатор не найден
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(36) : error C2065: GL_ARRAY_BUFFER: необъявленный идентификатор
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(36) : error C2065: GL_STATIC_DRAW: необъявленный идентификатор
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(36) : error C3861: glBufferData: идентификатор не найден
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(38) : error C3861: glVertexAttribPointer: идентификатор не найден
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(40) : error C3861: glEnableVertexAttribArray: идентификатор не найден
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(46) : error C2065: GL_VERTEX_SHADER: необъявленный идентификатор
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(46) : error C3861: glCreateShader: идентификатор не найден
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(47) : error C2065: GL_FRAGMENT_SHADER: необъявленный идентификатор
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(47) : error C3861: glCreateShader: идентификатор не найден
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(50) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(50) : error C2146: синтаксическая ошибка: отсутствие ")" перед идентификатором "GLchar"
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(50) : error C2065: GLchar: необъявленный идентификатор
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(50) : error C2059: синтаксическая ошибка: )
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(50) : error C2059: синтаксическая ошибка: )
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(51) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(51) : error C2146: синтаксическая ошибка: отсутствие ")" перед идентификатором "GLchar"
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(51) : error C2065: GLchar: необъявленный идентификатор
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(51) : error C2059: синтаксическая ошибка: )
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(51) : error C2059: синтаксическая ошибка: )
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(50) : error C3861: glShaderSource: идентификатор не найден
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(51) : error C3861: glShaderSource: идентификатор не найден
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(54) : error C3861: glCompileShader: идентификатор не найден
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(55) : error C3861: glCompileShader: идентификатор не найден
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(58) : error C3861: glCreateProgram: идентификатор не найден
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(61) : error C3861: glAttachShader: идентификатор не найден
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(62) : error C3861: glAttachShader: идентификатор не найден
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(65) : error C3861: glBindAttribLocation: идентификатор не найден
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(66) : error C3861: glBindAttribLocation: идентификатор не найден
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(69) : error C3861: glLinkProgram: идентификатор не найден
1>c:\users\natpuk\documents\visual studio 2008\projects\jytj\jytj\fgn.cpp(70) : error C3861: glUseProgram: идентификатор не найден
"идентификатор не найден" = "identifier not found"
trying to compile this sample http://www.opengl.org/wiki/Tutorial2:_VAOs,_VBOs,_Vertex_and_Fragment_Shaders_%28C_/_SDL%29
-
I have no idea what language that is or what it is saying but I shall make the assumption that you are not linking OpenGL in your project based on what I can read.
-
i linked opengl32.lib sfml-graphics, window
also
#include <sfml/window>
#include <sfml/OpenGL>
-
The unknown identifiers are all related to OpenGL symbols defined in version >= 2.0. But usually, OSes only provide OpenGL libs and headers in version 1.x, so you have to use these as extensions (through GLEW for example). If you use extensions, you have to append suffixes to the identifiers: for example, GL_ARRAY_BUFFER becomes GL_ARRAY_BUFFER_ARB, etc.
-
but isn't glew included with "sfml/window.hpp"?
-
Not anymore since SFML 1.5.