Zdravím
mám úplně prazákladní otázku... Jak nastavím g++ cesty kde má hledat hlavičkové soubory? Nainstaloval jsem si libxml++, cesta k libxml++.h je "/usr/include/libxml++-2.6/libxml++/libxml.h". Includovat se musí libxml++/libxml++.h, čili podle mě potřebuju přidat adresář "/usr/include/libxml++-2.6/" do include path.
Díky
Fórum › C / C++
Include path
g++ -I/usr/include/libxml++-2.6/
okrem toho este budes musiet prilinkovat libku.. takze si najdi libxml.so a potom cestu linkeru urcis:
g++ -L/cesta_k_libkam -lxml
Je taky strandard aby sa kninzica volala libnazov.so, vtedy g++ zozere -lnazov inac treba dat -l libnazov.so. ASi som to napisal ako madar :) ale ved keby nieco napises ;)
jasne to da rozum ;) myslel som ze potrebujes len pre jednu kompilaciu... No GCC kompilator defaultne prechadza adresare ktore najde v C_INCLUDE_PATH premennej prostredia.. pre LIBky zase LD_LIBRARY_PATH. Doporucujem export-om pozriet ako mas nastaveny momentalne a potom uz len :
declare -x C_INCLUDE_PATH=$INCLUDE_PATH:/adresar_includov
declare -x LD_LIBRARY_PATH=$LD_LIBRARY_PATH/adresar_libiek
To sn3d:Je to zvláštní, ale ani jednu z těch proměnných nemám deklarovanou... (mám Fedoru). Mám tam PATH a spoustu dalších, ale tyhle ne. :) Když jsem INCLUDE_PATH vytvořil, nic se nezměnilo, možná to mám nastavený, že to INCLUDE_PATH proměnnou vůbec neřeší, no ale to je jedno, uchýlím se k tomu řešení předchozímu (předávat parametr -I při aždý kompilaci). Možná by pomohlo přidat adresář do search path kompilátoru pomocí "g++ -B"...
To je divne lebo tam nieje dovod aby to nefungovalo.Skor to vydim na nepozornost.
export COBJ_INCLUDE_PATH=$COBJ_INCLUDE_PATH:/usr/include/libxml++-2.6/libxml++/
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/include/libxml++-2.6/libxml++/
inac ako includujes tie headre?Napriklad libxml.h?? ako #include <libxml.h> ?? Lebo vtedy by ti moje horeuvedene malo zafugovat.. ak davas len cestu /usr/include/libxml++-2.6/ tak treba includovat #include <libxml++/libxml.h>.
Mám FC 6 ne 7, už jsem myslel dopředu... :)
soubor libxml++.h: /usr/include/libxml++-2.6/libxml++/libxml++.h
takže v kódu mám
#include <libxml++/libxml++.h>
a do cesty přidávám tedy /usr/include/libxml++-2.6/
A skusal si aj CPLUS_INCLUDE_PATH?? V pripade ze kompilujes ako g++?? Ja pouzivam
gcc version 3.4.3 20050227 (Red Hat 3.4.3-22.1)
a kompilujem
g++ -o out main.cc
a zozerie mi to :-/ co je dost zvlastne ze tebe to nefakci..
Ked pouzivam Cecko a gcc tak zase nastavujem C_INCLUDE_PATH
gcc -o out main.cc
Zvlastne je ze z -I ti to funguje.
To sn3d: jj, zkoušel sem všechny proměnné...
fuuha.. no tak to uz neviem co s tym dalej. Popravde som sa s tym este nestretol.A ked to nastalo islo prevazne o nejaky blby preklep.. Hmm posoby to ako bug alebo ako nejaka Fedorina.. Skus nejake specializovane forum na FEDOR-u mozno tam bude nejaka podobna pixlovina ako v Ubuntu a library trusted directories..
To sn3d: No abych pravdu rek, neuprednostnuju nic, v tomhle sem zacatecnik. Bude to semestralka do skoly, rek sem si, ze kdyz uz budu meco delat, tak zkusim neco pouzitelnyho. XML se mi docela libi jako uchovatel/zdroj dat. Sahnul jsem proste po libxml++... Uspesne to kompiluju nasledujicim prikazem:
g++ -pedantic -Os fastyper.cpp -o fastyper
-I/usr/include/libxml++-2.6/
-I/usr/include/glibmm-2.4/
-I/usr/include/glib-2.0/
-I/usr/lib64/glibmm-2.4/include/
-I/usr/lib64/glib-2.0/include/
*edit: Ted ctu dokumentaci (http://libxmlplusplus.sourceforge.net/docs/manual/html/ar01s02.html) a koukam ze libxml++ umi 3 mozny zpusoby parsovani XML, vcetne SAX, ten mi mozna bude i stacit.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Dynamic library import file - include path problém — založil hlucheucho
Path 10.03 a čeština — založil Stanislav Fajfr
Problém s PATH — založil ENDER
Path.Combine(... — založil VladislavK
Multiversum: Find your path to the stars — založil adamjohnson
Moderátoři diskuze