Portál AbcLinuxu, 13. května 2025 16:02

Dotaz: Problém s relativními cestami v hlavičkách knihoven

29.4.2009 21:45 Eregon | skóre: 22 | blog: Eregonovy_vymysly | Všudezdejší
Problém s relativními cestami v hlavičkách knihoven
Přečteno: 161×
Odpovědět | Admin
Zdravím všechny - dnes se mi podařilo s pomocí ve zdejším fóru dořešit kompilaci knihovny TurboVision, kterou potřebuji pro svoji aplikaci. Narazil jsem ale na další problém, se kterým si nevím tak úplně rady.

Knihovnu jsem nainstaloval přímo do systému (./configure && make && sudo make install), takže v /usr/lib/ mi přibyly nějaké soubory librhtv.* a v /usr/include/ přibyl adresář rhtvision/.

Pro začátek jsem zkusil zkompilovat nějaký jednoduchý program v C++, který by TurboVision používal - na zkoušku, že všechno chodí.

Když na začátek kódu přidám direktivu #include <rhtvision/tv.h>, pokus o kompilaci (pomocí g++) vysype toto:
/usr/include/rhtvision/tv.h:690:25: error: compatlayer.h: No such file or directory
/usr/include/rhtvision/tv.h:692:25: error: tv/tvconfig.h: No such file or directory
/usr/include/rhtvision/tv.h:694:23: error: tv/ttypes.h: No such file or directory
/usr/include/rhtvision/tv.h:697:22: error: tv/tkeys.h: No such file or directory
/usr/include/rhtvision/tv.h:712:23: error: tv/tvutil.h: No such file or directory
/usr/include/rhtvision/tv.h:715:23: error: tv/tvobjs.h: No such file or directory
/usr/include/rhtvision/tv.h:719:25: error: tv/tobjstrm.h: No such file or directory
/usr/include/rhtvision/tv.h:723:24: error: tv/drawbuf.h: No such file or directory
/usr/include/rhtvision/tv.h:727:24: error: tv/objects.h: No such file or directory
/usr/include/rhtvision/tv.h:735:23: error: tv/system.h: No such file or directory
/usr/include/rhtvision/tv.h:739:23: error: tv/msgbox.h: No such file or directory
/usr/include/rhtvision/tv.h:743:25: error: tv/resource.h: No such file or directory
/usr/include/rhtvision/tv.h:747:22: error: tv/views.h: No such file or directory
/usr/include/rhtvision/tv.h:751:24: error: tv/dialogs.h: No such file or directory
/usr/include/rhtvision/tv.h:755:23: error: tv/stddlg.h: No such file or directory
/usr/include/rhtvision/tv.h:763:22: error: tv/menus.h: No such file or directory
/usr/include/rhtvision/tv.h:779:20: error: tv/app.h: No such file or directory
Kompilátor tedy nemůže najít další includované hlavičkové soubory, které ale podle mě jsou tam, kde být mají:
root@stanice:/usr/include/rhtvision# ls
cl  compatlayer.h  tv  tv.h
root@stanice:/usr/include/rhtvision# ls tv
app.h       clriteml.h    dialog.h   filecoll.h  frame.h     ifpstrm.h   menubar.h   nscoll.h       parttree.h  resitem.h      statsdef.h  strncoll.h  ttypes.h    yes_mss.h
applictn.h  clrselct.h    dialogs.h  filedlg.h   gkey.h      indicato.h  menubox.h   nssorcol.h     point.h     resource.h     statsitm.h  sttctext.h  tvconfig.h
backgrnd.h  cluster.h     dircoll.h  filelist.h  group.h     inputln.h   menu.h      object.h       preadobj.h  screen.h       statslin.h  submenu.h   tvedit.h
button.h    cmdset.h      direntr.h  fileview.h  helpbase.h  intl.h      menuitem.h  objects.h      program.h   scrlbar.h      stddlg.h    system.h    tvobjs.h
calc.h      codepage.h    dirlibo.h  filinfpn.h  help.h      iopstrm.h   menus.h     ofpstrm.h      pstream.h   scroller.h     streambl.h  terminal.h  tvutil.h
clrdisp.h   collectn.h    drawbuf.h  filinpln.h  history.h   ipstream.h  menuview.h  opstream.h     pwritobj.h  searchrc.h     strilist.h  textdev.h   validate.h
clrdlg.h    colorsel.h    drivers.h  findrepl.h  histvwer.h  label.h     mnoselct.h  osclipboard.h  radiobtn.h  sitem.h        strinrec.h  textview.h  video.h
clrgroup.h  configfile.h  editors.h  fontcoll.h  histwind.h  linux       msgbox.h    otstream.h     rect.h      sortcoll.h     strlistm.h  tkeyext.h   view.h
clrgrpli.h  configtv.h    event.h    fpbase.h    chdirdlg.h  listbox.h   nointl.h    palette.h      rescoll.h   sortlibo.h     strmblcl.h  tkeys.h     views.h
clritem.h   desktop.h     eventqu.h  fpstream.h  checkbox.h  lstviewr.h  no_mss.h    parmtext.h     resfile.h   ssc_streams.h  strmblty.h  tobjstrm.h  window.h
Co dělám blbě a jak zařídit, aby kompilátor hlavičkové soubory našel? Nějak teď nevidím žádnou chybu.
~ w w w w (oo)   [oo] w w w w ~
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

30.4.2009 02:44 #Tom | skóre: 32 | blog: Inspirace, aneb co jsem kde vyhrabal
Rozbalit Rozbalit vše Re: Problém s relativními cestami v hlavičkách knihoven
Odpovědět | | Sbalit | Link | Blokovat | Admin
Už je to dlouho, co jsem kompiloval a zkoušel zrovna tuto knihovnu, ale řekl bych, že to bude jako všude jinde, tj. že v tv.h se požadují hlavičky pomocí příkazu preprocesoru #include <tv/něco.h>, a bude třeba tak mít v cestě pro hlavičkové soubory adresář rhtvision, což zajistí parametr překladače -I/usr/include/rhtvision.
30.4.2009 05:16 Eregon | skóre: 22 | blog: Eregonovy_vymysly | Všudezdejší
Rozbalit Rozbalit vše Re: Problém s relativními cestami v hlavičkách knihoven
Díky, to je ono - měl jsem za to, že ta cesta v tv.h se bere jako relativní k souboru, ze kterého se includuje. Ale jak se dívám do tv.h samotného, include používají < a > místo uvozovek, takže to dává takhle smysl - jsem se předtím díval špatně. Ještě jednou díky.
~ w w w w (oo)   [oo] w w w w ~

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.