Portál AbcLinuxu, 12. května 2025 11:47
pro ucely zjednoduseni prace s konfiguraky v programovane aplikaci (C/C++) jsem si naistaloval knihovnu libconfig, a to primo do lokalniho adresare souvisejiciho s projektem (cilove zarizeni bezi na jine architekture).
Nedari se mi ale vyresit problem, jak linkeru vysvetlit, kde knihovnu ma hledat, a tak musim pouzivat rucni zadani cesty, ktera je dost kostrbata. Inkluzi tak musim provadet slozite #include "../../../libconfig-1.4.5/include/libconfig.h"
, misto toho bych cekal bezne #include <libconfig.h>
.
Stejne tak pritrouble musim v makefile linkovat ../../../libconfig-1.4.5/lib/libconfig.a
, namisto pouziti v manualu uvadeneho flagu -lconfig.
Aplikaci vyvijim v Eclipse a cekal bych, ze se to resi pridanim nejake polozky do Paths projektu, vyzkousel jsem jich ale uz dost a nic nepomohlo.
Muzete mi prosim nekdo poradit, jak spravne tento problem resit?
Diky!Řešení dotazu:
-I/moje/include
parametr pro kompiler.
Hledani knihoven pro linkovani je obdobne (/lib/,/usr/lib,/usr/local/lib) a aktualni cesta. Dalsi cesty se pridavaji pouzitim -L/moje/lib
. V pripade, ze pouzivas dynamicky linkovane knihovny, komplikace muze byt v tom, ze system nemusi chtit nestadardni cesty pouzivat - viz. man ld.so.
Osobne bych to resil ovsem jinak. Nainstaloval bych si libconfig z balicku tve distribuce nebo ji rucne nainstaluj do /usr/local (coz ostatne defaultne configure nabizi).
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.