Kirjoittaja Aihe: Kuinka saan ncursesin toimimaan? [RATKAISTU]  (Luettu 4232 kertaa)

satsuma

  • Käyttäjä
  • Viestejä: 63
    • Profiili
Kuinka saan ncursesin toimimaan? [RATKAISTU]
« : 17.06.07 - klo:11.57 »
Ajattelin alkaa pientä C-ohjelmaa tekemään ja siiihen
olisi tarkoitus tehdä käyttöliittymä ncursesin avulla.
Asensin paketin libncurses5, mutta jostain syystä
ei toimi.

Eli, kun yritän kääntää ohjelmaa, jossa olen include-lauseella
liittänyt ncurses.h-tiedoston, ilmoittaa kääntäjä, että

test.c:1:21: error: ncurses.h: No such file or directory

Onko kellään vinkkejä tähän?
« Viimeksi muokattu: 19.06.07 - klo:18.37 kirjoittanut satsuma »

Nakkis

  • Käyttäjä
  • Viestejä: 154
    • Profiili
Vs: Kuinka saan ncursesin toimimaan?
« Vastaus #1 : 17.06.07 - klo:12.45 »
Kokeile asentaa paketti libncurses5-dev. Käännettäessä lähdekoodista yleensä vaaditaan dev-paketit.

satsuma

  • Käyttäjä
  • Viestejä: 63
    • Profiili
Vs: Kuinka saan ncursesin toimimaan?
« Vastaus #2 : 18.06.07 - klo:18.50 »
Kiitos vastauksesta.

Jotenkin ajattelin, että tuo dev-paketti liittyisi itse kirjaston
kehittämiseen.

OK, mutta edelleen ei toimi niin kuin pitäisi. Enää ei tule
herjausta include-lauseesta, mutta ncurses-funtioita
kääntäjä ei tunnista. Kun yritän kääntää seuraavaa
ohjelmaa

Koodia: [Valitse]
#include <ncurses.h>

int main()
{
initscr(); /* Start curses mode   */
printw("Hello World !!!"); /* Print Hello World   */
refresh(); /* Print it on to the real screen */
getch(); /* Wait for user input */
endwin(); /* End curses mode   */

return 0;
}

tulee jokaisesta funktiokutusta seuraavan kaltainen virhe:
... undefined reference to 'initscr'

Puuttuuko multa mahdollisesti vielä jotain muitakin paketteja?

Fa1r

  • Käyttäjä
  • Viestejä: 221
  • Reply #1!
    • Profiili
Vs: Kuinka saan ncursesin toimimaan?
« Vastaus #3 : 18.06.07 - klo:21.47 »
Pitäisi löytyä kuitenkin tuosta headerista kyseisen funktion esittely?

Minä mistään mitään ymmärrä, mutta:
locate ncurses.h | xargs grep initscr
What you don't know can hurt you, only you won't know it.
--$(fortune)
Elastisen Linux-biisi

mgronber

  • Käyttäjä
  • Viestejä: 1458
    • Profiili
Vs: Kuinka saan ncursesin toimimaan?
« Vastaus #4 : 18.06.07 - klo:22.02 »
tulee jokaisesta funktiokutusta seuraavan kaltainen virhe:
... undefined reference to 'initscr'

Veikkaisin että tuo tulee linkkeriltä ja syynä on puuttuva ncurses-kirjasto eli et ole käskenyt linkkeriä linkkaamaan ohjelmaasi ncurses-kirjastoa vastaan. Jos nyt käännät tuota gcc:llä niin parametri "-lncurses" auttanee...

tn

  • Käyttäjä
  • Viestejä: 472
    • Profiili
Vs: Kuinka saan ncursesin toimimaan?
« Vastaus #5 : 18.06.07 - klo:22.06 »
(Ääh, mgronber ehti ensin, mutta menköön.)

tulee jokaisesta funktiokutusta seuraavan kaltainen virhe:
... undefined reference to 'initscr'

Puuttuuko multa mahdollisesti vielä jotain muitakin paketteja?

Kirjastot tulee kääntämisen yhteydessä vielä linkittää mukaan lopulliseen ohjelmaan. Eli tässä tapauksessa tähän tapaan:
Koodia: [Valitse]
gcc -lncurses ohjelma.c -o ohjelma
Vastaavasti jos käytössä on jokin IDE, tulee projektin asetuksiin lisätä kyseiset linkkeriparametrit. Eli siis jokaista kirjastoa kohden -lkirjasto.

satsuma

  • Käyttäjä
  • Viestejä: 63
    • Profiili
Vs: Kuinka saan ncursesin toimimaan?
« Vastaus #6 : 19.06.07 - klo:18.36 »
Linkkeristähän siinä oli kyse.

Kiitos kaikista vastauksista. ;D