Hello i have litle problem with setting up my IDE (Code Blocks) im working on Linux (Ubuntu)
I have installed all need packages from repository.
Now i have this code from book.
// Triangle.cpp
// Our first OpenGL program that will just draw a triangle on the screen.
#include <GLTools.h>
// OpenGL toolkit
#include <GLShaderManager.h> // Shader Manager Class
#ifdef APPLE
#include <glut/glut.h>
#else
#define FREEGLUT_STATIC
#include <GL/glut.h>
#include <GL/glew.h>
#endif
// OS X version of GLUT
// Windows FreeGlut equivalent
GLBatch triangleBatch;
GLShaderManager shaderManager;
///////////////////////////////////////////////////////////////////////////////
// Window has changed size, or has just been created. In either case, we need
// to use the window dimensions to set the viewport and the projection matrix.
void ChangeSize(int w, int h)
{
glViewport(0, 0, w, h);
}
///////////////////////////////////////////////////////////////////////////////
// This function does any needed initialization on the rendering context.
// This is the first opportunity to do any OpenGL related tasks.
void SetupRC()
{
// Blue background
glClearColor(0.0f, 0.0f, 1.0f, 1.0f );
shaderManager.InitializeStockShaders();
// Load up a triangle
GLfloat vVerts[] = { -0.5f, 0.0f, 0.0f,
0.5f, 0.0f, 0.0f,
0.0f, 0.5f, 0.0f };
triangleBatch.Begin(GL_TRIANGLES, 3);
triangleBatch.CopyVertexData3f(vVerts);
triangleBatch.End();
}
///////////////////////////////////////////////////////////////////////////////
// Called to draw scene
void RenderScene(void)
{
// Clear the window with current clearing color
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
GLfloat vRed[] = { 1.0f, 0.0f, 0.0f, 1.0f };
shaderManager.UseStockShader(GLT_SHADER_IDENTITY, vRed);
triangleBatch.Draw();
// Perform the buffer swap to display the back buffer
glutSwapBuffers();
}
///////////////////////////////////////////////////////////////////////////////
// Main entry point for GLUT based programs
int main(int argc, char* argv[])
{
gltSetWorkingDirectory(argv[0]);
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH | GLUT_STENCIL);
glutInitWindowSize(800, 600);
glutCreateWindow(“Triangle”);
glutReshapeFunc(ChangeSize);
glutDisplayFunc(RenderScene);
GLenum err = glewInit();
if (GLEW_OK != err) {
fprintf(stderr, "GLEW Error: %s
", glewGetErrorString(err));
return 1;
}
SetupRC();
glutMainLoop();
return 0;
}
I have Errors:
||=== Triangle, Debug ===|
obj/Debug/main.o||In function SetupRC()':| /home/dawid/NaukaOpenGl/Triangle/main.cpp|31|undefined reference to
GLShaderManager::InitializeStockShaders()’|
/home/dawid/NaukaOpenGl/Triangle/main.cpp|37|undefined reference to GLBatch::Begin(unsigned int, unsigned int, unsigned int)'| /home/dawid/NaukaOpenGl/Triangle/main.cpp|39|undefined reference to
GLBatch::End()’|
obj/Debug/main.o||In function RenderScene()':| /home/dawid/NaukaOpenGl/Triangle/main.cpp|48|undefined reference to
GLShaderManager::UseStockShader(GLT_STOCK_SHADER, …)’|
/home/dawid/NaukaOpenGl/Triangle/main.cpp|49|undefined reference to GLBatch::Draw()'| obj/Debug/main.o||In function
main’
/home/dawid/NaukaOpenGl/Triangle/main.cpp|57|undefined reference to gltSetWorkingDirectory(char const*)'| /home/dawid/NaukaOpenGl/Triangle/main.cpp|64|undefined reference to
glewInit’|
/home/dawid/NaukaOpenGl/Triangle/main.cpp|66|undefined reference to glewGetErrorString'| obj/Debug/main.o||In function
__static_initialization_and_destruction_0’
/home/dawid/NaukaOpenGl/Triangle/main.cpp|15|undefined reference to GLBatch::GLBatch()'| /home/dawid/NaukaOpenGl/Triangle/main.cpp|15|undefined reference to
GLBatch::~GLBatch()’|
/home/dawid/NaukaOpenGl/Triangle/main.cpp|16|undefined reference to GLShaderManager::GLShaderManager()'| /home/dawid/NaukaOpenGl/Triangle/main.cpp|16|undefined reference to
GLShaderManager::~GLShaderManager()’|
obj/Debug/main.o||In function GLBatch::CopyVertexData3f(float*)':| /home/dawid/Downloads/SB5/Src/GLTools/include/GLBatch.h|89|undefined reference to
GLBatch::CopyVertexData3f(float (*) [3])’|
||=== Build finished: 13 errors, 0 warnings ===|
I have done:
I go to Project->Build Options
Linker Settings and add glut,GL,GLU,Xxf86vm
Search Directories :
Compile:
I add /usr/include
…/Src/GLTools/include
Linker
I add /usr/lib
Thats all but i dont really know what add more.
And i can compile by make books examples and they run but i want use CodeBlocks can someoune can help?