[ Príspevkov: 12 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.05.09
Prihlásený: 06.08.09
Príspevky: 61
Témy: 7 | 7
Bydlisko: Bytča
NapísalOffline : 29.06.2009 20:12 | OpenGL v Linuxe

Zdravim chcel by som programovat v OpenGL v Linuxe mam prekladac gcc a mam aj kniznice ale ked vytvorim subor ktory obsahuje iba #include <gl.h> napise ze gl.h no such file or directory a ked napisem #include <GL/gl.h> napise mi toto:
Kód:
/usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status

chcem vediet ci je v linuxe potrebne nieco ako v linuxe boli tie dll subory ktore sa davali do system32 alebo preco mi to nejde


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0 | 0
NapísalOffline : 30.06.2009 17:36 | OpenGL v Linuxe

A máš v tom súbore funkciu main?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.05.09
Prihlásený: 06.08.09
Príspevky: 61
Témy: 7 | 7
Bydlisko: Bytča
Napísal autor témyOffline : 30.06.2009 19:08 | OpenGL v Linuxe

teraz som skusil vytvorit program ktory urobi iba ciste okno tu je kod:
Kód:
#include <GL/glut.h>    // Header File For The GLUT Library
#include <GL/gl.h>   // Header File For The OpenGL32 Library
#include <GL/glu.h>   // Header File For The GLu32 Library
#include <unistd.h>     // Header file for sleeping.

/* ascii code for the escape key */
#define ESCAPE 27

/* The number of our GLUT window */
int window;

/* A general OpenGL initialization function.  Sets all of the initial parameters. */
void InitGL(int Width, int Height)           // We call this right after our OpenGL window is created.
{
  glClearColor(0.0f, 0.0f, 0.0f, 0.0f);      // This Will Clear The Background Color To Black
  glClearDepth(1.0);            // Enables Clearing Of The Depth Buffer
  glDepthFunc(GL_LESS);            // The Type Of Depth Test To Do
  glEnable(GL_DEPTH_TEST);         // Enables Depth Testing
  glShadeModel(GL_SMOOTH);         // Enables Smooth Color Shading

  glMatrixMode(GL_PROJECTION);
  glLoadIdentity();            // Reset The Projection Matrix

  gluPerspective(45.0f,(GLfloat)Width/(GLfloat)Height,0.1f,100.0f);   // Calculate The Aspect Ratio Of The Window

  glMatrixMode(GL_MODELVIEW);
}

/* The function called when our window is resized (which shouldn't happen, because we're fullscreen) */
void ReSizeGLScene(int Width, int Height)
{
  if (Height==0)            // Prevent A Divide By Zero If The Window Is Too Small
    Height=1;

  glViewport(0, 0, Width, Height);      // Reset The Current Viewport And Perspective Transformation

  glMatrixMode(GL_PROJECTION);
  glLoadIdentity();

  gluPerspective(45.0f,(GLfloat)Width/(GLfloat)Height,0.1f,100.0f);
  glMatrixMode(GL_MODELVIEW);
}

/* The main drawing function. */
void DrawGLScene()
{
  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);      // Clear The Screen And The Depth Buffer
  glLoadIdentity();            // Reset The View

  // since this is double buffered, swap the buffers to display what just got drawn.
  glutSwapBuffers();
}

/* The function called whenever a key is pressed. */
void keyPressed(unsigned char key, int x, int y)
{
    /* avoid thrashing this procedure */
    usleep(100);

    /* If escape is pressed, kill everything. */
    if (key == ESCAPE)
    {
   /* shut down our window */
   glutDestroyWindow(window);
   
   /* exit the program...normal termination. */
   exit(0);                   
    }
}

int main(int argc, char **argv)

  /* Initialize GLUT state - glut will take any command line arguments that pertain to it or
     X Windows - look at its documentation at http://reality.sgi.com/mjk/spec3/spec3.html */ 
  glutInit(&argc, argv); 

  /* Select type of Display mode:   
     Double buffer
     RGBA color
     Alpha components supported
     Depth buffer */ 
  glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_ALPHA | GLUT_DEPTH); 

  /* get a 640 x 480 window */
  glutInitWindowSize(640, 480); 

  /* the window starts at the upper left corner of the screen */
  glutInitWindowPosition(0, 0); 

  /* Open a window */ 
  window = glutCreateWindow("Jeff Molofee's GL Code Tutorial ... NeHe '99"); 

  /* Register the function to do all our OpenGL drawing. */
  glutDisplayFunc(&DrawGLScene); 

  /* Go fullscreen.  This is as soon as possible. */
  glutFullScreen();

  /* Even if there are no events, redraw our gl scene. */
  glutIdleFunc(&DrawGLScene);

  /* Register the function called when our window is resized. */
  glutReshapeFunc(&ReSizeGLScene);

  /* Register the function called when the keyboard is pressed. */
  glutKeyboardFunc(&keyPressed);

  /* Initialize our window. */
  InitGL(640, 480);
 
  /* Start Event Processing Engine */ 
  glutMainLoop(); 

  return 1;
}


a napisalo mi to toto:

Kód:
lesson1.c:(.text+0x2a): undefined reference to `glClearColor'
lesson1.c:(.text+0x34): undefined reference to `glClearDepth'
lesson1.c:(.text+0x40): undefined reference to `glDepthFunc'
lesson1.c:(.text+0x4c): undefined reference to `glEnable'
lesson1.c:(.text+0x58): undefined reference to `glShadeModel'
lesson1.c:(.text+0x64): undefined reference to `glMatrixMode'
lesson1.c:(.text+0x69): undefined reference to `glLoadIdentity'
lesson1.c:(.text+0x97): undefined reference to `gluPerspective'
lesson1.c:(.text+0xa3): undefined reference to `glMatrixMode'
/tmp/cclWUuAc.o: In function `ReSizeGLScene':
lesson1.c:(.text+0xda): undefined reference to `glViewport'
lesson1.c:(.text+0xe6): undefined reference to `glMatrixMode'
lesson1.c:(.text+0xeb): undefined reference to `glLoadIdentity'
lesson1.c:(.text+0x119): undefined reference to `gluPerspective'
lesson1.c:(.text+0x125): undefined reference to `glMatrixMode'
/tmp/cclWUuAc.o: In function `DrawGLScene':
lesson1.c:(.text+0x139): undefined reference to `glClear'
lesson1.c:(.text+0x13e): undefined reference to `glLoadIdentity'
lesson1.c:(.text+0x143): undefined reference to `glutSwapBuffers'
/tmp/cclWUuAc.o: In function `keyPressed':
lesson1.c:(.text+0x170): undefined reference to `glutDestroyWindow'
/tmp/cclWUuAc.o: In function `main':
lesson1.c:(.text+0x19e): undefined reference to `glutInit'
lesson1.c:(.text+0x1aa): undefined reference to `glutInitDisplayMode'
lesson1.c:(.text+0x1be): undefined reference to `glutInitWindowSize'
lesson1.c:(.text+0x1d2): undefined reference to `glutInitWindowPosition'
lesson1.c:(.text+0x1de): undefined reference to `glutCreateWindow'
lesson1.c:(.text+0x1f0): undefined reference to `glutDisplayFunc'
lesson1.c:(.text+0x1f5): undefined reference to `glutFullScreen'
lesson1.c:(.text+0x202): undefined reference to `glutIdleFunc'
lesson1.c:(.text+0x20e): undefined reference to `glutReshapeFunc'
lesson1.c:(.text+0x21a): undefined reference to `glutKeyboardFunc'
lesson1.c:(.text+0x233): undefined reference to `glutMainLoop'
collect2: ld returned 1 exit status


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0 | 0
NapísalOffline : 30.06.2009 21:12 | OpenGL v Linuxe

Musíš koplilátoru povedať, že má pouťič knižnice GL, GLU a glut. U mňa by to teda bolo nejako takto:
Kód:
gcc -Wall -O2 -lGL -lGLU -L/usr/X11R6/lib -lglut main.c -o gl-test


PS: Pridaj tam aj #include <stdlib.h>, v tom súbore je totiž nadefinovaná funkcia exit.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.05.09
Prihlásený: 06.08.09
Príspevky: 61
Témy: 7 | 7
Bydlisko: Bytča
Napísal autor témyOffline : 01.07.2009 10:20 | OpenGL v Linuxe

Vypisalo mi toto:
Kód:
/usr/bin/ld: cannot find -lglut
collect2: ld returned 1 exit status

ale nevie ci mam spravne ulozene to glut.h mam ho v /usr/include/GL ma byt tam bo inde?


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0 | 0
NapísalOffline : 01.07.2009 12:03 | OpenGL v Linuxe

A máš aj knižnicu glut? (ten súbor glut.h sa používa len počas kompilovania, pri linkovaní sa používa knižnica libglut)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.05.09
Prihlásený: 06.08.09
Príspevky: 61
Témy: 7 | 7
Bydlisko: Bytča
Napísal autor témyOffline : 01.07.2009 12:05 | OpenGL v Linuxe

ano mam aj kniznicu glut.h ale neviem ci mam tu kniznicu libglut


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0 | 0
NapísalOffline : 02.07.2009 1:37 | OpenGL v Linuxe

glut.h nie je knižnica, je to len hlavičkový súbor. Ty potrebuješ aj tú knižnicu glut (a aj devel balíček). Pozri sa, či máš tú knižnicu nainštalovanú a keď nainštalovaná nie je, tak ju nainštaluj (inak zisti kde je umiestnená a podľa toho uprav ten parameter -L).

Netuším, aký máš Linux, ale ak máš niečo normálne, tak tam máš určite nejaký pekný grafický program v ktorom sa môžeš pozrieť, čo všetko máš nainštalované a čo všetko si prípadne môžeš nainštalovať (a niekde tam bude aj tá glut knižnica).


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.05.09
Prihlásený: 06.08.09
Príspevky: 61
Témy: 7 | 7
Bydlisko: Bytča
Napísal autor témyOffline : 02.07.2009 11:06 | OpenGL v Linuxe

mal som nainstalovany iba jeden balik takze teraz doinstalovavam dalsie uvidim co to urobi


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.05.09
Prihlásený: 06.08.09
Príspevky: 61
Témy: 7 | 7
Bydlisko: Bytča
Napísal autor témyOffline : 02.07.2009 12:53 | OpenGL v Linuxe

diky uz to ide uvidime ako to zvladne ostatne programy


Offline

Užívateľ
Užívateľ
OpenGL v Linuxe

Registrovaný: 02.11.07
Prihlásený: 18.03.15
Príspevky: 470
Témy: 22 | 22
Bydlisko: Zilinska Un...
NapísalOffline : 08.07.2009 20:57 | OpenGL v Linuxe

Flexor28 píše:
diky uz to ide uvidime ako to zvladne ostatne programy


Flexor28 pocuj to je zly zaciatok nauc sa robit obiektovo zaprve, necital som vase texty tu, ale na OpenGL kniznice ti staci mat spravne nainstalovanu graficku kartu + neake veci.

studuj odtialto su tam dobre zaklady ..... (priklady su tam robene na starych knizciach a starym sposobom, Nekopiraovat odtial vsetko!!!)
http://nehe.ceske-hry.cz/tut_obsah.php

+ poskytnem ti ak tak moju hru v OpenGL je tam vela zmetkov, taka odlahcena cast, kt. ukazem, na ktorej som sa iba ucil robit , ale na pochopenie ako Programovat v OpenGL ti bude as moc stacit ako zaciatocnikovi. Myslim to co mam v tom softe nenajdes nikde na webe stylisticky, ale vychadza to troska z nehe tutorialov. Je to komplet workspace pre Eclipse do Linuxu.
Ak mas vsetko dobre nainstalovane, staci ti to len skompilovat a malo by to ist ....

http://rapidshare.com/files/253506827/bound3D.zip.html

!!!! Toto nie je WAREZ.


_________________
Notebook: HP EliteBook 8740w
You can see my work in my www
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0 | 0
NapísalOffline : 09.07.2009 16:16 | OpenGL v Linuxe

Osobne si myslím, že by sa najskôr mal vrátiť k úplným základom C, aby vedel, aký je rozdiel medzi hlavičkovým súborom a knižnicou. Aby vedel, čo treba robiť, keď program potrebuje nejaké knižnice... :)


 [ Príspevkov: 12 ] 


OpenGL v Linuxe



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

OpenGL

v Ovládače

18

8050

13.11.2008 1:25

PSYCHOTEROR

V tomto fóre nie sú ďalšie neprečítané témy.

OpenGL

v Ostatné programy

4

925

13.12.2006 18:47

POM4R4NC

V tomto fóre nie sú ďalšie neprečítané témy.

opengl

v Backend

1

711

17.11.2008 10:51

johny3212

V tomto fóre nie sú ďalšie neprečítané témy.

OpenGL, help

v Backend

0

591

26.09.2008 16:52

johny3212

V tomto fóre nie sú ďalšie neprečítané témy.

Java + OpenGL

v Backend

2

597

10.01.2011 21:28

gladiatus

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie.

CSS openGL

v Hry a herné konzoly

3

530

17.04.2010 21:48

eXistenZ

V tomto fóre nie sú ďalšie neprečítané témy.

Problém s OpenGL

v Ostatné programy

0

572

15.11.2006 19:46

DeaLer

V tomto fóre nie sú ďalšie neprečítané témy.

Problém z OpenGL

[ Choď na stránku:Choď na stránku: 1, 2 ]

v AMD grafické karty

30

711

08.02.2014 16:53

patrikufik

V tomto fóre nie sú ďalšie neprečítané témy.

MineCraft OpenGL CHYBA

v Hry a herné konzoly

1

709

14.02.2011 9:54

shiro

V tomto fóre nie sú ďalšie neprečítané témy.

DirectX alebo OpenGL

v Backend

0

310

07.01.2013 11:17

FBerente

V tomto fóre nie sú ďalšie neprečítané témy.

C++/SFML/OpenGL

v Backend

23

836

26.04.2015 2:25

Misosvk

V tomto fóre nie sú ďalšie neprečítané témy.

Problém s OpenGl

v Ovládače

2

521

19.01.2011 15:51

seamus_22

V tomto fóre nie sú ďalšie neprečítané témy.

Vista a OpenGL

v Windows

4

540

17.09.2006 0:33

Shark NX

V tomto fóre nie sú ďalšie neprečítané témy.

Wolfenstein a OpenGL

v Hry a herné konzoly

4

1008

06.08.2007 12:42

johny128

V tomto fóre nie sú ďalšie neprečítané témy.

problem s OpenGL

v nVidia grafické karty

4

620

15.05.2007 10:09

Shit

V tomto fóre nie sú ďalšie neprečítané témy.

Java a OpenGL

v Backend

0

575

30.03.2009 20:29

ewil



© 2005 - 2026 PCforum, edited by JanoF