Avatar billede mathiash Nybegynder
13. august 2005 - 19:07 Der er 42 kommentarer og
1 løsning

mysql dev-c++

Hey!

Jeg er igang med at lære at bruge mysql fra C og har læst arnes artikel, men jeg kan ikke finde ud af hvor jeg får fat i mysql.h jeg har download mysql-server men der er intet med.

Jeg vil ydermere også gerne vide hvad jeg præcist skal linke med.

Mvh. Mathias Hansen
Avatar billede visualdeveloper Nybegynder
13. august 2005 - 20:08 #1
Avatar billede visualdeveloper Nybegynder
13. august 2005 - 20:11 #2
Avatar billede visualdeveloper Nybegynder
13. august 2005 - 20:12 #3
kopier dette ind i en .h fil og gem den som mysql.h
og læg den ind til alle de andre header filer !
Avatar billede arne_v Ekspert
13. august 2005 - 20:55 #4
den kommer med det rigtige MySQL kit

Linux - snup "Libraries and header files"

Windows - snup den store version (ikke essentials)

http://dev.mysql.com/downloads/mysql/4.1.html

så ligger den i et include dir under hvor MySQL er installeret
Avatar billede mathiash Nybegynder
13. august 2005 - 21:30 #5
arne >> Jeg har downloadet "den store" version men kan ikke finde noget include dir
Avatar billede arne_v Ekspert
13. august 2005 - 21:33 #6
mystisk - jeg har:

C:\Program Files\MySQL\MySQL Server 4.1\include
Avatar billede mathiash Nybegynder
13. august 2005 - 21:34 #7
Ahh Developer Components var hakket fra
Avatar billede arne_v Ekspert
13. august 2005 - 21:37 #8
:-)
Avatar billede mathiash Nybegynder
13. august 2005 - 21:38 #9
[Linker error] undefined reference to `mysql_init@4'
  [Linker error] undefined reference to `mysql_error@4'

osv.

Hvad skal jeg linke med?
Avatar billede arne_v Ekspert
13. august 2005 - 21:42 #10
min artikel siger at du bare skal linke med mysqlclient.lib

men jeg er ikke sikker på at det virke med MySQL 4.1
Avatar billede arne_v Ekspert
13. august 2005 - 21:44 #11
men prøv:

hent og installer mingw utils 0.3

kør

reimp -d libmysql.lib
dlltool -k -d libmysql.def -l libmysql.a

og compile så med:

gcc q.c libmysql.a -DSOCKET=int -I\mysql\include -o q.exe
Avatar billede mathiash Nybegynder
13. august 2005 - 21:45 #12
Dooh, nu er jeg da helt væk hvad er det så jeg skal skrive i linker? :)
Avatar billede mathiash Nybegynder
13. august 2005 - 21:46 #13
Okay prøver
Avatar billede mathiash Nybegynder
13. august 2005 - 21:48 #14
Jeg kan ikke finde en download til windows? :)
Avatar billede mathiash Nybegynder
13. august 2005 - 21:49 #15
Never mind
Avatar billede arne_v Ekspert
13. august 2005 - 21:51 #16
mingw er kun til windows så kan du finde en download så ...
Avatar billede mathiash Nybegynder
13. august 2005 - 21:51 #17
reimp: -d: No such file or directory ?
Avatar billede arne_v Ekspert
13. august 2005 - 21:54 #18
du skal enten have det dir hvor du udpakkede mingw utils i PATH eller
angive eksplicit sti til kommandoen

og ka det er lidt bøvlet, men når du har din god elibmysql.a så kan du
bruge den i måneder uden at bekymre dig om bøvlet
Avatar billede mathiash Nybegynder
13. august 2005 - 21:54 #19
Jeg er for hurtig til at skrive :)

Mangler at compile nu....

Men kan jeg ikke compile det der via dev-cpp ?
Avatar billede arne_v Ekspert
13. august 2005 - 21:57 #20
sagtens

du skal ind og sætte link options

-L\dirmedlib -lmysql

skulle gøre det
Avatar billede mathiash Nybegynder
13. august 2005 - 21:59 #21
Opdagede lige at min libmysql.a fil fyldte 0 kb :(

Er nok fordi jeg får følgende fejl:
dlltool: installation problem, cannot exec `as'

Når jeg kører dlltool men der er jo ingen "as" parameter på? Hvorfor siger den det så? :)
Avatar billede arne_v Ekspert
13. august 2005 - 22:01 #22
prøv at tilføj dev-cpp's bin dir til din PATH inden du kører dlltool
Avatar billede mathiash Nybegynder
13. august 2005 - 22:03 #23
Perfekt!

Jeg får bare denne her fejl når jeg åbner mit kompilerede program:

Procedureindgangspunktet mysql_close@4 blev ikke fundet i DLL-biblioteket LIBMYSQL.dll
Avatar billede arne_v Ekspert
13. august 2005 - 22:08 #24
Har du LIBMYSQL.dll fra din 4.1 MySQL i PATH ?
Avatar billede mathiash Nybegynder
13. august 2005 - 22:08 #25
Yep, fra "opt" mappen
Avatar billede mathiash Nybegynder
13. august 2005 - 22:19 #26
SÅ er der ikke noget at gøre ? :)
Avatar billede arne_v Ekspert
13. august 2005 - 22:20 #27
selvfølgelig er der noget at gøre !
Avatar billede arne_v Ekspert
13. august 2005 - 22:21 #28
prøv at fjern -k fra dlltool kommandoen
Avatar billede arne_v Ekspert
13. august 2005 - 22:22 #29
(og har du lyst til at læse en masse om @n så læs http://www.geocities.com/yongweiwu/stdcall.htm)
Avatar billede mathiash Nybegynder
13. august 2005 - 22:25 #30
Får desværre stadig samme fejl har: -LC:\downloads\bin -lmysql
I min linker
Avatar billede mathiash Nybegynder
13. august 2005 - 22:26 #31
Og det er det dir hvor jeg har min libmysql.a
Avatar billede arne_v Ekspert
13. august 2005 - 22:34 #32
jeg må vist lige prøve selv

:-)
Avatar billede mathiash Nybegynder
13. august 2005 - 22:35 #33
Tak :)
Avatar billede arne_v Ekspert
13. august 2005 - 22:44 #34
det virker hos mig ????
Avatar billede arne_v Ekspert
13. august 2005 - 22:46 #35
genereret libmysql.a (me d-k)

sat include dir, lib dir og lib (-I, -L og -l)

[og den altid genererende SOCKET=int]

og så virker det
Avatar billede mathiash Nybegynder
13. august 2005 - 22:47 #36
sat include dir, lib dir og lib (-I, -L og -l) <-- Hvor meget har du includet?
Avatar billede arne_v Ekspert
13. august 2005 - 22:49 #37
jeg har sat den til at inkludere fra det dir hvor mysql include filer ligger
(jeg valgte at kopiere til at dir uden mellemrum i da det gav problemer)

jeg har sat den til at linke fra det dir hvor den genererede libmysql.a ligger

compile options:
-DSOCKET=int

link option:
-lmysql
Avatar billede mathiash Nybegynder
13. august 2005 - 22:54 #38
Mærkeligt.. Har kopieret alle filer fra mysql's include filer til mit dev-cpp include dir og kopieret libmysql.a til mit lib dir (bare for at være på den sikre side) og så har jeg tilføjet det som du har skrevet til compile options og link options og... samme fejl..

Jeg tror jeg smutter i seng nu, skal tidligt op i morgen.. Er tilbage i morgen eftermmidag/aften...
Avatar billede mathiash Nybegynder
15. august 2005 - 15:49 #39
Har nu prøvet at lave libmysql.a igen både fra opt og debug mappen og den bliver simpelthen ved..

Du kunne ikke sende din libmysql.a fil til mig? info@matisen.dk
Avatar billede arne_v Ekspert
15. august 2005 - 16:01 #40
mail sendt
Avatar billede mathiash Nybegynder
15. august 2005 - 16:07 #41
Den fyldte ikke det samme?

Men der er desværre stadig samme problem
Avatar billede mathiash Nybegynder
15. august 2005 - 16:11 #42
Vent lige lidt...

Jeg fjernede -DSOCKET=int i compiler options.. Det ser ud til at køre nu...

Arne!! Læg et svar! :)
Avatar billede arne_v Ekspert
15. august 2005 - 16:14 #43
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester