» »

[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:
#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ž

sherman ::

Kaj pa
#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
"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:
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ž

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.
"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

Zgodovina sprememb…

matijaz74 ::

zhigatsey je izjavil:

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ž


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

OpenCV začetek

Oddelek: Programiranje
151261 (899) Icematxyz
»

Linux - gtk/gtk.h

Oddelek: Operacijski sistemi
51186 (1032) bibbos
»

Neukrotljivi PKG_CONFIG_PATH

Oddelek: Operacijski sistemi
51015 (945) G-man
»

[C] MySQL

Oddelek: Programiranje
292822 (1844) Tutankhamun
»

[Suse 9.2] Prosim za pomoč pri inštalaciji GAIM

Oddelek: Operacijski sistemi
71248 (1147) Jst

Več podobnih tem