Nowe posty

xx Problem ze sterownikami. (5)
2024-04-13, 21:25:16
xx Instalacja xfce4 (2)
2024-04-13, 16:20:17
xx Serie kompilacji bez instalacji dla “emerge” w Gentoo (2)
2024-04-08, 18:40:04
xx Plasma 6 w Neonie ssie trochę mniej ... (17)
2024-04-05, 10:03:46
xx Problem z Linux Lite po instalacji (3)
2024-04-03, 14:23:40
xx Jak właczyć num locka przy starcie systemu debian 12? (12)
2024-04-02, 17:43:54
xx Brak dźwieku w systemie. (5)
2024-04-02, 16:13:41
xx Dystrybucja pod HP Omen (7)
2024-03-29, 11:33:05
xx [Poradnik] Wyszukiwanie Sterowników (2)
2024-03-27, 21:08:23
xx Ile pingwinów? (1)
2024-03-27, 08:59:24

Autor Wątek: Anaconda i DVI  (Przeczytany 9995 razy)

shaman

  • Gość
Anaconda i DVI
« dnia: 2005-06-25, 00:42:23 »
witam
sciagnalem prosty programik, chcialem zobaczyc jak wyglada programowanie z uzyciem opengl
nic wielkiego:

main.cpp:

#include
int main(int argc, char *argv[]) {
        glutInit(&argc, argv);
        glEnable(GL_LIGHTING);
        return 0;
}

Makefile:

main : main.cpp
        g++ main.cpp -lGL -lGLU -lglut -o main
clean :
        rm -rf main

no i teraz problem gdy probuje go skompilowac:

$ make
g++ main.cpp -lGL -lGLU -lglut -o main
/usr/bin/ld: cannot find -lGLU
collect2: ld returned 1 exit status
make: *** [main] Błąd 1


i wlasnie nie mam zielonego pojecia o co chodzi, co moze byc nie tak, juz przeinstalowywalem glut\\'a i dalej nic,
libGLU.so lezy sobie w /usr/X11R6/lib
a w ld.so.conf jest wpis /usr/X11R6/lib
moze ktos mialby jakies sugestie, co moge jeszcze sprawdzic/zmienic zeby zadzialalo ?

xis

  • Gość
Anaconda i DVI
« Odpowiedź #1 dnia: 2005-06-25, 09:26:03 »
2005-06-25 00:42:23 shaman napisał:

> witam
 > sciagnalem prosty programik, chcialem zobaczyc jak wyglada programowanie z uzyciem opengl
 > nic wielkiego:
 >
 > main.cpp:
 >
 > #include
 > int main(int argc, char *argv[]) {
 >         glutInit(&argc, argv);
 >         glEnable(GL_LIGHTING);
 >         return 0;
 > }
 >
 > Makefile:
 >
 > main : main.cpp
 >         g++ main.cpp -lGL -lGLU -lglut -o main
 > clean :
 >         rm -rf main
 >
 > no i teraz problem gdy probuje go skompilowac:
 >
 > $ make
 > g++ main.cpp -lGL -lGLU -lglut -o main
 > /usr/bin/ld: cannot find -lGLU
 > collect2: ld returned 1 exit status
 > make: *** [main] Błąd 1
 >
 >
 > i wlasnie nie mam zielonego pojecia o co chodzi, co moze byc nie tak, juz przeinstalowywalem
 > glut\\'a i dalej nic,
 > libGLU.so lezy sobie w /usr/X11R6/lib
 > a w ld.so.conf jest wpis /usr/X11R6/lib
 > moze ktos mialby jakies sugestie, co moge jeszcze sprawdzic/zmienic zeby zadzialalo ?
 >

Spróbuj, po wpisaniu do ld.so.conf, wydać rootem polecenie \\'ldconfig\\'. Jeśli dalej nie zadziała to zmień Makefile tak, żeby uruchamiało:
g++ main.cpp -lGL -lGLU -lglut -o main -L/usr/X11R6/lib

shaman

  • Gość
Anaconda i DVI
« Odpowiedź #2 dnia: 2005-06-25, 13:38:05 »
> Spróbuj, po wpisaniu do ld.so.conf, wydać rootem polecenie \\'ldconfig\\'. Jeśli dalej nie zadziała
 > to zmień Makefile tak, żeby uruchamiało:
 > g++ main.cpp -lGL -lGLU -lglut -o main -L/usr/X11R6/lib
 >

ldconfig juz odpalalem, zapomnialem o tym napisac ...
zrobilem tak jak mowisz z tym -L...

$ make
g++ main.cpp -lGL -lGLU -lglut -o main -L/usr/X11R6/lib
/usr/X11R6/lib/libglut.so: undefined reference to `XGetExtensionVersion\\'
/usr/X11R6/lib/libglut.so: undefined reference to `XFreeDeviceList\\'
/usr/X11R6/lib/libglut.so: undefined reference to `XQueryDeviceState\\'
/usr/X11R6/lib/libglut.so: undefined reference to `XListInputDevices\\'
/usr/X11R6/lib/libglut.so: undefined reference to `XFreeDeviceState\\'
/usr/X11R6/lib/libglut.so: undefined reference to `XOpenDevice\\'
/usr/X11R6/lib/libglut.so: undefined reference to `XmuLookupStandardColormap\\'
/usr/X11R6/lib/libglut.so: undefined reference to `XSelectExtensionEvent\\'
collect2: ld returned 1 exit status
make: *** [main] B³±d 1

a pliczek libglut.so istnieje:

$ file /usr/X11R6/lib/libglut.so
/usr/X11R6/lib/libglut.so: symbolic link to `libglut.so.3.7\\'
$ file /usr/X11R6/lib/libglut.so.3.7
/usr/X11R6/lib/libglut.so.3.7: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped

wojtekm

  • Gość
Anaconda i DVI
« Odpowiedź #3 dnia: 2005-06-25, 14:15:34 »
2005-06-25 13:38:05 shaman napisał:

 > $ make
 > g++ main.cpp -lGL -lGLU -lglut -o main -L/usr/X11R6/lib
 > /usr/X11R6/lib/libglut.so: undefined reference to `XGetExtensionVersion\\'
 > /usr/X11R6/lib/libglut.so: undefined reference to `XFreeDeviceList\\'

 > /usr/X11R6/lib/libglut.so: undefined reference to `XQueryDeviceState\\'
 > /usr/X11R6/lib/libglut.so: undefined reference to `XListInputDevices\\'
 > /usr/X11R6/lib/libglut.so: undefined reference to `XFreeDeviceState\\'
 > /usr/X11R6/lib/libglut.so: undefined reference to `XOpenDevice\\'
 > /usr/X11R6/lib/libglut.so: undefined reference to `XmuLookupStandardColormap\\'
 > /usr/X11R6/lib/libglut.so: undefined reference to `XSelectExtensionEvent\\'
 > collect2: ld returned 1 exit status
 > make: *** [main] B³±d 1

Najwyraźniej Twój glut odwołuje się do Xlib-a, doddaj jeszcze \\'-lX11\\'

Wojtek

shaman

  • Gość
Anaconda i DVI
« Odpowiedź #4 dnia: 2005-06-27, 14:36:24 »
> Najwyraźniej Twój glut odwołuje się do Xlib-a, doddaj jeszcze \\'-lX11\\'

niestety dalej nie pomoglo...
probowalem tak:

g++ main.cpp -lGL -lGLU -lglut -o main -L/usr/X11R6/lib -lX11

i tak:

g++ main.cpp -lGL -lGLU -lglut -o main -L/usr/X11R6/lib -L/usr/X11R6/lib/X11

nadal mam te same bledy  :(


greg000

  • Gość
Anaconda i DVI
« Odpowiedź #5 dnia: 2005-06-27, 15:18:36 »
Kompilujesz to tak:
   g++ main.cpp -lGL -lGLU -lglut -o main -L/usr/X11R6/lib
więc powinno być wszystko w porządku. Mnie sie wydaje ze poprostu pomyliłeś  \\"l\\" (male L) z \\"I\\" (duze i) przy -IGL, -IGLU,-lglut (male L wszedzie). Wydaje mi się, że to jest przyczyną, że nie chce ci sie ten programik kompilować. :)

Pozdr

shaman

  • Gość
Anaconda i DVI
« Odpowiedź #6 dnia: 2005-06-28, 15:22:06 »
> Kompilujesz to tak:
 >    g++ main.cpp -lGL -lGLU -lglut -o main -L/usr/X11R6/lib
 > więc powinno być wszystko w porządku. Mnie sie wydaje ze poprostu pomyliłeś  \\"l\\"
 > (male L) z \\"I\\" (duze i) przy -IGL, -IGLU,-lglut (male L wszedzie). Wydaje mi się, że
 > to jest przyczyną, że nie chce ci sie ten programik kompilować. :)

nie to napewno nie to, juz sie upewnilem...
ale przecierz tego sam nie pisalem bylo sciagniete razem z programem to powinno byc ok...
teraz nadal jest tak:

$ make
g++ main.cpp -lGL -lGLU -lglut -o main -l/usr/X11R6/lib -lX11
/usr/bin/ld: cannot find -lGLU
collect2: ld returned 1 exit status
make: *** [main] B³±d 1

chyba mam cos nie tak z linkerem ... :-/

wojtekm

  • Gość
Anaconda i DVI
« Odpowiedź #7 dnia: 2005-06-28, 17:53:09 »
2005-06-28 15:22:06 shaman napisał:

 > $ make
 > g++ main.cpp -lGL -lGLU -lglut -o main -l/usr/X11R6/lib -lX11
 > /usr/bin/ld: cannot find -lGLU
 > collect2: ld returned 1 exit status
 > make: *** [main] B³±d 1
 >
 > chyba mam cos nie tak z linkerem ... :-/

Ewidentnie źle wywołałeś g++, powinno być:
g++ main.cpp -lGL -lGLU -lglut -lX11 -L/usr/X11R6/lib -o main

Przy czym, jeśli to program w C++ to zwróć uwagę jak wczytujesz naglówki C, czy są wewnątrz bloku \\"extern \\"C\\" { ... }\\"

Wojtek

shaman

  • Gość
Anaconda i DVI
« Odpowiedź #8 dnia: 2005-06-28, 19:01:02 »
> Ewidentnie źle wywołałeś g++, powinno być:
 > g++ main.cpp -lGL -lGLU -lglut -lX11 -L/usr/X11R6/lib -o main
 >
 > Przy czym, jeśli to program w C++ to zwróć uwagę jak wczytujesz naglówki C, czy są wewnątrz
 > bloku \\"extern \\"C\\" { ... }\\"

ok, jeszcze raz, dodalem extern\\"C\\" (nie wiem po co - przypominam ze to nie moj program, a z jakiegos kursu czy cos takiego, powinien dzialac, problem jest z moim systemem na 90%, ale moze moglbys zobaczyc u siebie czy dziala)

$ cat main.cpp
extern \\"C\\" {
#include
}

int main(int argc, char *argv[]) {
        glutInit(&argc, argv);
        glEnable(GL_LIGHTING);
        return 0;
}

i nadal mam takie bledy:

$ make
g++ main.cpp -lGL -lGLU -lglut -lX11 -L/usr/X11R6/lib -o main
/usr/X11R6/lib/libglut.so: undefined reference to `XGetExtensionVersion\\'
/usr/X11R6/lib/libglut.so: undefined reference to `XFreeDeviceList\\'
/usr/X11R6/lib/libglut.so: undefined reference to `XQueryDeviceState\\'
/usr/X11R6/lib/libglut.so: undefined reference to `XListInputDevices\\'
/usr/X11R6/lib/libglut.so: undefined reference to `XFreeDeviceState\\'
/usr/X11R6/lib/libglut.so: undefined reference to `XOpenDevice\\'
/usr/X11R6/lib/libglut.so: undefined reference to `XmuLookupStandardColormap\\'
/usr/X11R6/lib/libglut.so: undefined reference to `XSelectExtensionEvent\\'
collect2: ld returned 1 exit status
make: *** [main] B³±d 1

wojtekm

  • Gość
Anaconda i DVI
« Odpowiedź #9 dnia: 2005-06-28, 20:00:02 »
2005-06-28 19:01:02 shaman napisał:

Powiem tak, masz jakiegoś dziwnie skompilowanego glut-a (jak go instalowałeś?) albo dziwnie skompilowane X-y, bo u mnie na Gentoo powyższy program bez problemu się kompiluje z opcjami:
g++ main.cpp -lGL -lGLU -lglut -o main

Jest duże prawdopodobieństwo, że masz pomieszane biblioteki czystej Mesy i Mesy z X-ów.

Inna sprawa, że na Gentoo nigdy nie ma problemów z kompilacją...

Wojtek

Bakus

  • Gość
Anaconda i DVI
« Odpowiedź #10 dnia: 2005-06-28, 20:19:43 »
Sprubój w main.cpp dopisać przed #include jeszcze: #include i #include
czyli niech twoj main.cpp wygląda tak:

#include
#include
#include
int main(int argc, char *argv[]) {
glutInit(&argc, argv);
glEnable(GL_LIGHTING);
return 0;
}


może zadziała... (ja przynajmniej tak robie i u mnie działa)

shaman

  • Gość
Anaconda i DVI
« Odpowiedź #11 dnia: 2005-06-28, 23:05:07 »
> Jest duże prawdopodobieństwo, że masz pomieszane biblioteki czystej Mesy i Mesy z X-ów.

wiec jesli chodzi o mese to jej wogole nie mam
a uzywam archlinux\\'a wiec raczje nie powinno byc problemow z mieszaniem wszystko inne jest ok
a mese wywalilem bo bylo tak:

mesa zainstalowana:
$ glxgears
1583 frames in 5.0 seconds = 316.600 FPS
mesa wyrzucona:
$ glxgears    
18836 frames in 5.0 seconds = 3767.200 FPS

wiec robi mi to tak troszke roznice... ale i tak po zainstalowaniu mesy magicznym pacman -S mesa program wywala caly czas te same bledy,
przeinstalowalem gluta kilkukrotnie, nie wiem co jeszcze moglbym ewentualnie przeinstalowac zeby moze sie jakos powiazania naprawily, pamietam ze kiedys probowalem sie linkami pobawic w /usr/X11R6/lib
ale to nic nie dalo i chyba wszystko przywrocilem do normy:
$ file /usr/X11R6/lib/libGLU.so
/usr/X11R6/lib/libGLU.so: symbolic link to `libGLU.so.1.3\\'
$ file /usr/X11R6/lib/libGLU.so.1.3
/usr/X11R6/lib/libGLU.so.1.3: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped

shaman

  • Gość
Anaconda i DVI
« Odpowiedź #12 dnia: 2005-06-29, 11:10:37 »
> Sprubój w main.cpp dopisać przed #include jeszcze: #include i
 > #include
 > czyli niech twoj main.cpp wygląda tak:
 >
 > #include
 > #include
 > #include
 > int main(int argc, char *argv[]) {
 > glutInit(&argc, argv);
 > glEnable(GL_LIGHTING);
 > return 0;
 > }
 >
 >
 > może zadziała... (ja przynajmniej tak robie i u mnie działa)

dzieki za sugestie, probowalem i u mnie niestety nie dziala :(
ps. skoro dziala u ciebie z tymi naglowkami to i bez nich pewnie tez pojdzie...

grafit

  • Gość
Anaconda i DVI
« Odpowiedź #13 dnia: 2005-06-24, 20:43:14 »
Podczas instalacji FC 3, Mandrake 10.0, Auroxa pojawia mi sie informacja monitora o przekroczeniu zakresu częstotliwości i o złej rozdzielczości. Podczas instalacji instalator rusza, ale problem pojawia sie gdy Anaconda przechodzi w tryb graficzny. Próbowałem w trybie tekstowym (ale problem i tak występuje na dalszym etapie instalacji) i w trybie ze zmieniona rozdzielczościa. Co powinienem zmienić podczas instalcji aby uniknąc problemu? Mam monitor Neovo F-419 podpięty do Radeona 9000 ( 128 MB ).

grafit

  • Gość
Anaconda i DVI
« Odpowiedź #14 dnia: 2005-07-05, 23:12:12 »
Juz rozwiązałem problem... Poprostu w trybie o zmienionej rozdzielczości wpisywałem złą rozdzielczość...