Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: [SOLVED] OpenGL and SFML 2  (Read 12347 times)

0 Members and 5 Guests are viewing this topic.

Darknight

  • Newbie
  • *
  • Posts: 10
    • View Profile
[SOLVED] OpenGL and SFML 2
« on: February 13, 2011, 03:24:48 pm »
Hi,

I'm currently learning to use openGL with the website's turorial: http://www.sfml-dev.org/tutorials/1.6/window-opengl.php

I've tried to compile window-opengl.cpp, which i downloaded on that page, but any function begining with gl just cant be found by the compiler. Any tips?

thanks

Laurent

  • Administrator
  • Hero Member
  • *****
  • Posts: 32498
    • View Profile
    • SFML's website
    • Email
[SOLVED] OpenGL and SFML 2
« Reply #1 on: February 13, 2011, 03:30:26 pm »
They are not found by the linker, not the compiler. Which means that you have to link to the GL libraries (I can't tell you more without knowing your OS and compiler).
Laurent Gomila - SFML developer

Darknight

  • Newbie
  • *
  • Posts: 10
    • View Profile
[SOLVED] OpenGL and SFML 2
« Reply #2 on: February 13, 2011, 03:36:48 pm »
Thank you for answering me that fast.

Actually, i'm using visual c++, my linker contains this:

opengl32.lib
glu32.lib
sfml-main-d.lib
sfml-system-d.lib
sfml-window-d.lib
sfml-graphics-d.lib
sfml-audio-d.lib

and the errors are either "identifier not found" or "identifier not declared"

Laurent

  • Administrator
  • Hero Member
  • *****
  • Posts: 32498
    • View Profile
    • SFML's website
    • Email
[SOLVED] OpenGL and SFML 2
« Reply #3 on: February 13, 2011, 03:47:28 pm »
Ah, so it seems like these are not linker errors after all ;)

Can you please show the exact error messages?
Laurent Gomila - SFML developer

Darknight

  • Newbie
  • *
  • Posts: 10
    • View Profile
[SOLVED] OpenGL and SFML 2
« Reply #4 on: February 13, 2011, 03:51:06 pm »
It's french, but so are you, then i guess it wont matter.

There you go:

Erreur   1   error C3861: 'glClearDepth' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   23
Erreur   2   error C3861: 'glClearColor' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   24
Erreur   3   error C2065: 'GL_DEPTH_TEST' : identificateur non déclaré   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   27
Erreur   4   error C3861: 'glEnable' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   27
Erreur   5   error C2065: 'GL_TRUE' : identificateur non déclaré   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   28
Erreur   6   error C3861: 'glDepthMask' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   28
Erreur   7   error C2065: 'GL_PROJECTION' : identificateur non déclaré   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   31
Erreur   8   error C3861: 'glMatrixMode' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   31
Erreur   9   error C3861: 'glLoadIdentity' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   32
Erreur   10   error C3861: 'gluPerspective' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   33
Erreur   11   error C3861: 'glViewport' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   52
Erreur   12   error C2065: 'GL_COLOR_BUFFER_BIT' : identificateur non déclaré   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   61
Erreur   13   error C2065: 'GL_DEPTH_BUFFER_BIT' : identificateur non déclaré   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   61
Erreur   14   error C3861: 'glClear' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   61
Erreur   15   error C2065: 'GL_MODELVIEW' : identificateur non déclaré   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   64
Erreur   16   error C3861: 'glMatrixMode' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   64
Erreur   17   error C3861: 'glLoadIdentity' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   65
Erreur   18   error C3861: 'glTranslatef' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   66
Erreur   19   error C3861: 'glRotatef' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   67
Erreur   20   error C3861: 'glRotatef' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   68
Erreur   21   error C3861: 'glRotatef' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   69
Erreur   22   error C2065: 'GL_QUADS' : identificateur non déclaré   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   72
Erreur   23   error C3861: 'glBegin' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   72
Erreur   24   error C3861: 'glVertex3f' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   74
Erreur   25   error C3861: 'glVertex3f' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   75
Erreur   26   error C3861: 'glVertex3f' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   76
Erreur   27   error C3861: 'glVertex3f' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   77
Erreur   28   error C3861: 'glVertex3f' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   79
Erreur   29   error C3861: 'glVertex3f' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   80
Erreur   30   error C3861: 'glVertex3f' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   81
Erreur   31   error C3861: 'glVertex3f' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   82
Erreur   32   error C3861: 'glVertex3f' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   84
Erreur   33   error C3861: 'glVertex3f' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   85
Erreur   34   error C3861: 'glVertex3f' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   86
Erreur   35   error C3861: 'glVertex3f' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   87
Erreur   36   error C3861: 'glVertex3f' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   89
Erreur   37   error C3861: 'glVertex3f' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   90
Erreur   38   error C3861: 'glVertex3f' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   91
Erreur   39   error C3861: 'glVertex3f' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   92
Erreur   40   error C3861: 'glVertex3f' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   94
Erreur   41   error C3861: 'glVertex3f' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   95
Erreur   42   error C3861: 'glVertex3f' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   96
Erreur   43   error C3861: 'glVertex3f' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   97
Erreur   44   error C3861: 'glVertex3f' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   99
Erreur   45   error C3861: 'glVertex3f' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   100
Erreur   46   error C3861: 'glVertex3f' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   101
Erreur   47   error C3861: 'glVertex3f' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   102
Erreur   48   error C3861: 'glEnd' : identificateur introuvable   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   104
   49   IntelliSense : identificateur "glClearDepth" non défini   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   23
   50   IntelliSense : identificateur "glClearColor" non défini   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   24
   51   IntelliSense : identificateur "glEnable" non défini   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   27
   52   IntelliSense : identificateur "GL_DEPTH_TEST" non défini   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   27
   53   IntelliSense : identificateur "glDepthMask" non défini   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   28
   54   IntelliSense : identificateur "GL_TRUE" non défini   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   28
   55   IntelliSense : identificateur "glMatrixMode" non défini   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   31
   56   IntelliSense : identificateur "GL_PROJECTION" non défini   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   31
   57   IntelliSense : identificateur "glLoadIdentity" non défini   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   32
   58   IntelliSense : identificateur "gluPerspective" non défini   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   33
   59   IntelliSense : identificateur "glViewport" non défini   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   52
   60   IntelliSense : identificateur "glClear" non défini   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   61
   61   IntelliSense : identificateur "GL_COLOR_BUFFER_BIT" non défini   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   61
   62   IntelliSense : identificateur "GL_DEPTH_BUFFER_BIT" non défini   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   61
   63   IntelliSense : identificateur "GL_MODELVIEW" non défini   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   64
   64   IntelliSense : identificateur "glTranslatef" non défini   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   66
   65   IntelliSense : identificateur "glRotatef" non défini   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   67
   66   IntelliSense : identificateur "glBegin" non défini   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   72
   67   IntelliSense : identificateur "GL_QUADS" non défini   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   72
   68   IntelliSense : identificateur "glVertex3f" non défini   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   74
   69   IntelliSense : identificateur "glEnd" non défini   c:\users\aymeric\documents\visual studio 2010\projects\test\test\main.cpp   104

Laurent

  • Administrator
  • Hero Member
  • *****
  • Posts: 32498
    • View Profile
    • SFML's website
    • Email
[SOLVED] OpenGL and SFML 2
« Reply #5 on: February 13, 2011, 04:05:15 pm »
Which version of SFML are you using? If you use 1.6, GL.h should be included automatically by SFML/Window.hpp.
Laurent Gomila - SFML developer

Darknight

  • Newbie
  • *
  • Posts: 10
    • View Profile
[SOLVED] OpenGL and SFML 2
« Reply #6 on: February 13, 2011, 04:13:17 pm »
SFML 2, as said in the subject. Maybe not the latest version from the repository though.

Groogy

  • Hero Member
  • *****
  • Posts: 1469
    • MSN Messenger - groogy@groogy.se
    • View Profile
    • http://www.groogy.se
    • Email
[SOLVED] OpenGL and SFML 2
« Reply #7 on: February 13, 2011, 04:19:40 pm »
Hmm maybe the opengl header isn't available? Like it's not located in Visual Studio or in the Path. Because that's what it looks like.
Developer and Maker of rbSFML and Programmer at Paradox Development Studio

Darknight

  • Newbie
  • *
  • Posts: 10
    • View Profile
[SOLVED] OpenGL and SFML 2
« Reply #8 on: February 13, 2011, 04:27:37 pm »
That may be true, is there something i should do to have OGL working properly, besides having SFML 2?

Quote from: "Laurent"
Which version of SFML are you using? If you use 1.6, GL.h should be included automatically by SFML/Window.hpp.


It seems i have no GL.h on my computer.

EDIT: nevermind, i have gl.h

Groogy

  • Hero Member
  • *****
  • Posts: 1469
    • MSN Messenger - groogy@groogy.se
    • View Profile
    • http://www.groogy.se
    • Email
[SOLVED] OpenGL and SFML 2
« Reply #9 on: February 13, 2011, 04:33:11 pm »
Quote from: "Darknight"
That may be true, is there something i should do to have OGL working properly, besides having SFML 2?

Normally it just works straight out of the box. Have you tested just including gl.h yourself?
Developer and Maker of rbSFML and Programmer at Paradox Development Studio

Darknight

  • Newbie
  • *
  • Posts: 10
    • View Profile
[SOLVED] OpenGL and SFML 2
« Reply #10 on: February 13, 2011, 04:39:23 pm »
even when i'm including gl.h myself, the errors still remain.

Darknight

  • Newbie
  • *
  • Posts: 10
    • View Profile
[SOLVED] OpenGL and SFML 2
« Reply #11 on: February 13, 2011, 05:25:24 pm »
Problem solved.

I had to download glut and add this line:
#include <gl\glut.h>

Laurent

  • Administrator
  • Hero Member
  • *****
  • Posts: 32498
    • View Profile
    • SFML's website
    • Email
[SOLVED] OpenGL and SFML 2
« Reply #12 on: February 13, 2011, 07:02:07 pm »
In SFML2 this is no longer automatic, but there is still a header that helps with portability (GL include paths are not the same across platforms).
Code: [Select]
#include <SFML/OpenGL.hpp>

Quote
I had to download glut and add this line:
#include <gl\glut.h>

GLUT includes GL and GLU headers, but you're definitely not using GLUT, so this was a bad solution ;)
Laurent Gomila - SFML developer

Darknight

  • Newbie
  • *
  • Posts: 10
    • View Profile
[SOLVED] OpenGL and SFML 2
« Reply #13 on: February 13, 2011, 09:08:33 pm »
Works fine, thank you!