Forum » Programiranje » [C++] Problem pri vključitvi header-ja
[C++] Problem pri vključitvi header-ja
matijaz74 ::
Pozdravljeni!
Problem je sledeči. Uporabljam OS Ubuntu 10.04 LTS. V njem imam instaliran mysql bazo, v kateri imam bazo ponudnikov. Preko spleta sem dobil dokument v tekstovni obliki ki je velik neverjetnih 25MB. Podatke iz tega dokumenta želim prebrati po vrsticah in spraviti v bazo. Vendar se mi je zataknilo že na začetku. Pri klicanju header mysql.h. Instaliral sem si po navodilih iz interneta libmysqlclient-dev in libmysqld-dev. Pogledal sem tudi v imenik /usr/include/mysql/mysql/ kot root in opazil da mysql.h obstaja. V kodo sem zapisal samo to:
Poskusil sem več variant.
tudi "mysql.h","/usr/include/mysql/mysql/mysql.h" (pod root) vendar zmeraj dobir napako
Hmmm ... ali ima kakšno idejo? Vnaprej se vam zahvaljujem za odgovore.
Problem je sledeči. Uporabljam OS Ubuntu 10.04 LTS. V njem imam instaliran mysql bazo, v kateri imam bazo ponudnikov. Preko spleta sem dobil dokument v tekstovni obliki ki je velik neverjetnih 25MB. Podatke iz tega dokumenta želim prebrati po vrsticah in spraviti v bazo. Vendar se mi je zataknilo že na začetku. Pri klicanju header mysql.h. Instaliral sem si po navodilih iz interneta libmysqlclient-dev in libmysqld-dev. Pogledal sem tudi v imenik /usr/include/mysql/mysql/ kot root in opazil da mysql.h obstaja. V kodo sem zapisal samo to:
#include <iostream> #include <mysql> int main(){ return 0; }
Poskusil sem več variant.
tudi "mysql.h","/usr/include/mysql/mysql/mysql.h" (pod root) vendar zmeraj dobir napako
skripte/primer_mysql001.cpp:3:17: error: mysql: No such file or directory
Hmmm ... ali ima kakšno idejo? Vnaprej se vam zahvaljujem za odgovore.
lp
Matijaž
Matijaž
- spremenil: matijaz74 ()
sherman ::
Kaj pa
?
Ali pa dodaj -I /usr/include/mysql/mysql/.
#include <mysql/mysql/mysql.h>
?
Ali pa dodaj -I /usr/include/mysql/mysql/.
Zgodovina sprememb…
- spremenilo: sherman ()
napsy ::
mogoce bi moral med prevajanjem klicati se orodje pkg-config, ki bi prevajalniku podal previlne poti
[quote]
g++ `pkg-config --libs --cflags mysql5` tvojprogram.cpp
[/quote]
kako tocno se imenuje 'paket' za myskl pa lahko pogledas v /usr/lib/pkgconfig
[quote]
g++ `pkg-config --libs --cflags mysql5` tvojprogram.cpp
[/quote]
kako tocno se imenuje 'paket' za myskl pa lahko pogledas v /usr/lib/pkgconfig
"If you die, you die. But when you live you live. There is no time to waste."
matijaz74 ::
Hvala za odgovor. Najprej sem probal tvoj ukaz.
Na to sem napisal sem še:
no uporabil sem napisal sme za mysql vezijo tudi mysql5 in mysql5.1
Pri vseh se je pojavila napaka:
Poiskal se sem če sploh obstaja:
in opazil da obstaja.
Hmmm ... kaj je sedaj to? Ni mi jasno. Še kakšna rešitev? Še nekaj. Kateri tuji forum je zelo obiskan kjer bi lahko postavil ta problem. Hvala, za odgovor!
Na to sem napisal sem še:
g++ skripte/primer_mysql001.cpp -o mysql001 'pkg-config --libs --cflags mysql5.1'
no uporabil sem napisal sme za mysql vezijo tudi mysql5 in mysql5.1
Pri vseh se je pojavila napaka:
g++: pkg-config --libs --cflags mysql5.1: No such file or directory
Poiskal se sem če sploh obstaja:
find / -name pkg-config
in opazil da obstaja.
Hmmm ... kaj je sedaj to? Ni mi jasno. Še kakšna rešitev? Še nekaj. Kateri tuji forum je zelo obiskan kjer bi lahko postavil ta problem. Hvala, za odgovor!
lp
Matijaž
Matijaž
napsy ::
poskusi najprej pognat pkg-config brez zagona g++, se pravi
pkg-config --libs --cflag mysql5
(spet, poisci pravo ime za mysql paket nekje v /usr/lib/pkgconfig ... bi ti pomagu pa nimam ne ubuntu ne namescenega mysql)
Potem, ko bos nasel pravo ime, klici g++ kot sem zgoraj omenil .. ampak ... znak ` (na angleski tipkovnici tipka kjer je tilda) ni enak enojnemu narekovaju '. Ko bos klical ukaz znotraj teh ` znakov, se bo ukaz pkg-config zagnal preden se bo pognal g++ prevajalnik in izhod programa se bo preusmeru k g++. Upam da se razumema.
pkg-config --libs --cflag mysql5
(spet, poisci pravo ime za mysql paket nekje v /usr/lib/pkgconfig ... bi ti pomagu pa nimam ne ubuntu ne namescenega mysql)
Potem, ko bos nasel pravo ime, klici g++ kot sem zgoraj omenil .. ampak ... znak ` (na angleski tipkovnici tipka kjer je tilda) ni enak enojnemu narekovaju '. Ko bos klical ukaz znotraj teh ` znakov, se bo ukaz pkg-config zagnal preden se bo pognal g++ prevajalnik in izhod programa se bo preusmeru k g++. Upam da se razumema.
"If you die, you die. But when you live you live. There is no time to waste."
zhigatsey ::
Mislim da mysql knjižnjica ne podpira pkg-config-a (nikjer ni *.pc datoteke -> vsaj pri meni je tako (slack), ampak mislim da je drugje enako) lahko si pa pomagaš z mysql_config:
mysql_config --include
in
mysql_config --libs
mysql_config --include
in
mysql_config --libs
Zgodovina sprememb…
- spremenil: zhigatsey ()
matijaz74 ::
Mislim da mysql knjižnjica ne podpira pkg-config-a (nikjer ni *.pc datoteke -> vsaj pri meni je tako (slack), ampak mislim da je drugje enako) lahko si pa pomagaš z mysql_config:
mysql_config --include
in
mysql_config --libs
Malo sem še pobrskal po internetu in sem prišel do zaključka. Pri prevajanju moram uporabiti mysql_config z nastavitvami --cflags in --libs torej:
g++ -o prog $(mysql_config --cflags) skripta.cpp $(mysql_config --libs)
Hvala vsem za pomoč!
lp
Matijaž
Matijaž
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | OpenCV začetekOddelek: Programiranje | 1250 (888) | Icematxyz |
» | Linux - gtk/gtk.hOddelek: Operacijski sistemi | 1178 (1024) | bibbos |
» | Neukrotljivi PKG_CONFIG_PATHOddelek: Operacijski sistemi | 1009 (939) | G-man |
» | [C] MySQLOddelek: Programiranje | 2812 (1834) | Tutankhamun |
» | [Suse 9.2] Prosim za pomoč pri inštalaciji GAIMOddelek: Operacijski sistemi | 1235 (1134) | Jst |