Tämä lennokkisimulaattoriohjelma pitäisi siis saada käännettyä sorsista kun en löydä mistään valmista pakettia distrolleni:
http://crrcsim.sourceforge.net/
Olen asentanut paketeista tarvittavat libraryt (portaudio, glut/freeglut, plib, sdl).
Silti kun ajan komennon
$ make -f Makefile.linux
ohjelman hakemistossa niin compilointi pysähtyy:
In file included from include_gl.h:27,
from crrc_scenery.h:31,
from fdm.cpp:6:
./glut-3.7/include/GL/glut.h:59:20: GL/glu.h: No such file or directory
In file included from fdm.cpp:6:
crrc_scenery.h:94: error: ISO C forbids declaration of `GLUquadricObj' with no type
crrc_scenery.h:94: error: expected `;' before '*' token
make: *** [out/fdm.o] Error 1
Mikäköhän paketti pitäisi asentaa että saisin tuon 'GL/glu.h' -tiedoston? Luulisi, että se sisältyisi GLUT -tai FreeGLUT -pakettiin, mutta näin ei kuitenkaan ole... :-(
Distro on Slackware 11
http://crrcsim.sourceforge.net/
Olen asentanut paketeista tarvittavat libraryt (portaudio, glut/freeglut, plib, sdl).
Silti kun ajan komennon
$ make -f Makefile.linux
ohjelman hakemistossa niin compilointi pysähtyy:
In file included from include_gl.h:27,
from crrc_scenery.h:31,
from fdm.cpp:6:
./glut-3.7/include/GL/glut.h:59:20: GL/glu.h: No such file or directory
In file included from fdm.cpp:6:
crrc_scenery.h:94: error: ISO C forbids declaration of `GLUquadricObj' with no type
crrc_scenery.h:94: error: expected `;' before '*' token
make: *** [out/fdm.o] Error 1
Mikäköhän paketti pitäisi asentaa että saisin tuon 'GL/glu.h' -tiedoston? Luulisi, että se sisältyisi GLUT -tai FreeGLUT -pakettiin, mutta näin ei kuitenkaan ole... :-(
Distro on Slackware 11
Vastaukset 14
Vanhimmat
jostain syystä OpenGL-kirjasto johon tuo glu.h otsikkotiedosto kuuluu.
En ole mikään pro näissä 3D-jutuissa mutta on olemassa ainakin yksi avoin OpenGL-implementaatio Linuxille elikkä Mesa-kirjasto. http://www.mesa3d.org/
Ja tässä on uudet (ainakin päiväyksen mukaan) ohjeet miten asennetaan sorsista jos distrollesi ei ole Mesa-pakettiakaan valmiiksi saatavissa:
http://www.llnl.gov/CASC/Overture/henshaw/install/node3.html
Jos tuossakaan ei tule tarvittavaa glu.h tiedostoa mukana niin sitten sinun täytyy etsiä distrollesi natiivi OpenGL-implementaatio.
Minulla on siis Nvidian näyttis, ja asensin juuri eilen uusimman näytönohjainajurin (-moduulin?) koneeseen. OpenGL pelaa kyllä kuitenkin oikein/kiihdytetysti.
Minulla on sellainen käsitys tuosta Mesa3D:sta, että jos sen asennan, niin menetän laitteistopohjaisen OpenGL-kiihdytyksen. Olenkohan aivan hakoteillä? Täytyy varmaankin vain kokeilla...
Melkein mikä tahansa OpenGL-ohjelma muuttuu käytännössä käyttökelvottomaksi "softahidastuksella"...
Oletko asentanut development-paketit, niissä on headerit eli esim. tuo "GL/glu.h".
Ainakaan Slackware-11:sen mukana ei tule kuin paketti 'glut-3.7-i486-1.tgz', jossa on kylläkin juuri näitä "/usr/X11R6/include" header-filuja mukana. Mutta vaan kun ei satu olemaan juuri tuota glu.h -tiedostoa... :-/
Slackwaressa käsittääkseni kaikki paketit ovat development-paketteja (headerit mukana)...jos ne vaan on oikein kasattu.
Slackware-hakun mukaan glu.h on paketissa "x11-devel-6.9.0-i486-11" http://packages.slackware.it/search.php?v=current&t=2&q=glu.h
GLU on muuten eri juttu kuin GLUT.
Ahaa, itse luulin GLU:n ja GLUT:in olevan "samaa perhettä", siksi sekaannus... x11-devel-paketin asensin ja sieltähän se glu.h löytyi.
Vaan lisää ongelmaa tulee sitä mukaa kun saa vanhoja ratkaistua:
$ make -f Makefile.linux
~~~~
~~~~
--- Linking
out/audio_interface/tx_audio.o(.text 0x399): In function `audio_rc_open':
: undefined reference to `Pa_CountDevices'
out/audio_interface/tx_audio.o(.text 0x412): In function `audio_rc_open':
: undefined reference to `Pa_GetDefaultInputDeviceID'
collect2: ld returned 1 exit status
make: *** [crrcsim] Error 1
Ja vindossissa ei tarttenut kuin purkaa zippi ja ei kun lentämään.
ldconfig -v roottina.
/* Ja vindossissa ei tarttenut kuin purkaa zippi ja ei kun lentämään. */
Open-sorsa tyypit on niin kilttejä, että yrittää saada sorsa-koodin toimimaan useissa KJ/distroissa eikä pelkästään jossain määrätyssä. Ymmärrät kai että se lisää ongelmia. ( vertaa : olispa helppoa jos kaikki puhuisi samaa kieltä)
# ldconfig -v
Testasin tuon komennon mutta eipä se tuntunut vaikuttavan. Sama virhe tulee aina vaan jos määrittelen "Audio interfacen" (lennokkiradion) lennokin ohjauslaitteeksi... :(
Voiskohan gcc (g ) versio vaikuttaa asiaan? Slack-11 -versiossa on gcc-3.4.6...
Kokeiliin ajaa Winellä CRRCsimin windows-versiota ja tuloksena on vain musta ruutu.
Alkaa vaikuttaa siltä, että että en harjoittele tietokoneella lennätystä...
Ärsyttää vaan kun lennokeilla on taipumus mennä tikuiksi ohjausvirheen sattuessa.
Oletko noudattanut ohjeita "compile.txt" ja "audio_interface/readme.txt". Mulla tuo kääntyy ja toimii ainakin ilman "audio interfacea". Pitänee kokeilla myös tota audio_interface-käännöstä.
Ei näköjään tarvitse "audio_interface/readme.txt"-ohjeita, vaan "audio interface" on oletuksena mukana (ohje lienee vanhentunut).
Kuinka asensit portaudion? Slackwaressa ei näyttäisi olevan ko. pakettia.
Nyt sain audio interfacen toimimaan.
Vikana oli väärä versio Portaudiosta. Käytin linuxpackages.netistä ladattua 19-versiota, CRRCsimin ohjeissa puhutaan 18.1 -versiosta.
Asensin 18.1, ja ohjelma kääntyi ongelmitta...tässä taas nähtiin, että kannattaa lukea tarkaan ne dokumentaatiot!
Kiitokset pitkäjänteisyydestä! :)
Vielä kun saisi jostain tuohon ohjelmaan Dynafliten Bird Of Time, tai Multiplexin Easy Glider purjelennokin/lennokit... toki näillä vakioillakin pärjää :)
Hyva kun sait toimii!
Ihan hyvä fysiikanmallinus tossa ohjelmassa, mutta äänet on (ainakin mulla) pelkkää taajuutta vaihtavaa siniaaltoa.
Itse sain tuon ärsyttävän radion PPM-signaalin surinan pois kun laitoin KDE:n äänimikseristä "line inputin" vaimennetuksi... olettaen että sulla on radio kiinni line-inputissa (kuten itselläni).
Minulla on ilmeisesti hiukan liian kova lähtötaso lennokkiradiossani, koska ohjelman asetusten kalibrointikohdassa tikkujen asentoja ilmaisevat palkit hyppivät ja nykivät ääriasennosta toiseen. Sigaalin leikkautumista todennäköisesti?
Ja tästä johtuen lennokkikin sitten heittelehtii ja jopa "täristää" ilmassa, ja olen 99% varma ettei se kuulu fysiikanmallinnukseen! :)
Pitänee kokeilla yksinkertaista vastusjakovaimenninta, josko sellaisella ohjattavuus paranisi...
ödöös: Oletkos itsekin lennokkiharrastaja?