OVH Cloud OVH Cloud

Objectiv-c et MySQL

11 réponses
Avatar
testuz73
Bonjour,

Jusqu'ici j'ai utilisé sur OSX avec RealBASIC. Je l'utilisais
entre-autre pour faire un client à une base de donnée MySQL local. Là,
j'ai commencé ProjectBuilder et Objectiv-C. Et je veux essayer de faire
la même chose avec.

Donc, comment je peux me connecter facilement à MySQL avec ObjC ?
L'installation de MySQL fourni bien des API C, mais je ne sais pas
comment les utiliser. Ou bien y a-t-il une solution plus simple ?

--
Frédéric Testuz
<mailto:testuz73@perso.ch>

10 réponses

1 2
Avatar
thomas-ml
Frédéric Testuz wrote:

Donc, comment je peux me connecter facilement à MySQL avec ObjC ?
L'installation de MySQL fourni bien des API C, mais je ne sais pas
comment les utiliser. Ou bien y a-t-il une solution plus simple ?


Sur le site de mysql ils expliquent comment utiliser l'API C.
Sinon tu peux utiliser un wrapper Objective-C : une rapide recherche
google m'a envoyé sur
<http://home.triad.rr.com/mlsmithjr/osx/myosxhome.html>
Enfin, tu peux utiliser mysql++ avec l'Objective-C++.

--
Thomas Deniau
"Unix is user friendly. It's just selective when choosing friends."

Avatar
thomas-ml
Thomas Deniau wrote:

Sinon tu peux utiliser un wrapper Objective-C : une rapide recherche
google m'a envoyé sur
<http://home.triad.rr.com/mlsmithjr/osx/myosxhome.html>


Voir aussi <http://mysql-cocoa.sourceforge.net/>.
--
Thomas Deniau
"Unix is user friendly. It's just selective when choosing friends."

Avatar
testuz73
Thomas Deniau wrote:

Frédéric Testuz wrote:

Donc, comment je peux me connecter facilement à MySQL avec ObjC ?
L'installation de MySQL fourni bien des API C, mais je ne sais pas
comment les utiliser. Ou bien y a-t-il une solution plus simple ?


Sur le site de mysql ils expliquent comment utiliser l'API C.


Oui, j'ai déjà lu la doc de mysql. J'ai essayé quelque chose de tout
simple (accéder à une base). Mais mon problème est plutôt à
l'utilisation de ProjectBuilder. La compilation, et plus exactement la
création des liens, ne réussit pas.
Je suis vraiment à la découverte de PB. Je ne sais pas utiliser d'autres
library (que cocoa).
Donc je cherche soit une description ou des exemples simples.

Sinon tu peux utiliser un wrapper Objective-C : une rapide recherche
google m'a envoyé sur
<http://home.triad.rr.com/mlsmithjr/osx/myosxhome.html>
Enfin, tu peux utiliser mysql++ avec l'Objective-C++.


Merci.

--
Frédéric Testuz
<mailto:


Avatar
testuz73
Thomas Deniau wrote:

Thomas Deniau wrote:

Sinon tu peux utiliser un wrapper Objective-C : une rapide recherche
google m'a envoyé sur
<http://home.triad.rr.com/mlsmithjr/osx/myosxhome.html>


Voir aussi <http://mysql-cocoa.sourceforge.net/>.


Je crois que je vais regarder de ce côté.
Merci

--
Frédéric Testuz
<mailto:


Avatar
thomas-ml
Frédéric Testuz wrote:

La compilation, et plus exactement la
création des liens, ne réussit pas.


Il faut que tu rajoutes dans les flags du linker (ça doit etre dans les
réglages de ta "target") -lmysql -L/usr/local/lib si mysql est installé
dans /usr/local/lib et aux flags du compilateur -I/usr/local/include si
les headers de mysql sont là.

--
Thomas Deniau
"Unix is user friendly. It's just selective when choosing friends."

Avatar
testuz73
Thomas Deniau wrote:

Frédéric Testuz wrote:

La compilation, et plus exactement la
création des liens, ne réussit pas.


Il faut que tu rajoutes dans les flags du linker (ça doit etre dans les
réglages de ta "target") -lmysql -L/usr/local/lib si mysql est installé
dans /usr/local/lib et aux flags du compilateur -I/usr/local/include si
les headers de mysql sont là.


D'abord, merci de me répondre. Malheureusement ça ne marche pas (même en
mettant plus correctement -lmysqlclient). Je vais continuer à essayer
d'utiliser l'api fournit par mysql, ça me permettra de me comprendre PB.
Voilà donc ce qui se passe.

Que j'utilise la solution que tu donnes ou que j'ajoute le header (avec
Project/Add Files...) et la librairie (avec Project/Add Framework..., il
semble que je puisse aussi ajouter des librairies avec ça), la réponse
est la même. Lorsque j'essaie de compiler, il me répond :

Linking /Users/testuz/Projects/TestC/build/TestC (1 error, 1 warning)
ld: warning prebinding disabled because of undefined symbols
ld: Undefined symbols:
_compress
_uncompress


Bon, maintenant ça marche, j'ai relu la doc mysql et avec l'aide de ta
réponse, j'ai réussi. Il fallait mettre :
-lmysqlclient -lz -L/usr/local/mysql/lib

Question : s'est quoi cette option -lz ? (le man de gcc, si c'est le
bon, est vraiment *gros*).

--
Frédéric Testuz
<mailto:


Avatar
thomas-ml
Frédéric Testuz wrote:

Question : s'est quoi cette option -lz ? (le man de gcc, si c'est le
bon, est vraiment *gros*).


C'est pour la compression ("z" comme "zip"). mysql en a besoin.

--
Thomas Deniau
"Unix is user friendly. It's just selective when choosing friends."

Avatar
lucsky
Thomas Deniau wrote:

C'est pour la compression ("z" comme "zip").


Non. Comme 'zlib', zip c'est autre chose.

--
Luc Heinrich -

Avatar
thomas-ml
Luc Heinrich wrote:

Thomas Deniau wrote:

C'est pour la compression ("z" comme "zip").


Non. Comme 'zlib', zip c'est autre chose.


Oui, je sais, mais le z dans zlib signifie zip (à ma connaissance). J'ai
fait un raccourci un peu expéditif ;)

--
Thomas Deniau
"Unix is user friendly. It's just selective when choosing friends."


Avatar
testuz73
Thomas Deniau wrote:

Luc Heinrich wrote:

Thomas Deniau wrote:

C'est pour la compression ("z" comme "zip").


Non. Comme 'zlib', zip c'est autre chose.


Oui, je sais, mais le z dans zlib signifie zip (à ma connaissance). J'ai
fait un raccourci un peu expéditif ;)


D'accord. Dans mon cas, je l'ai utilisé avec un projet tout simple
(seulement un main.c qui inclut stdio.h et mysql.h). Cette option ne
pose pas de problème pour un projet cocoa ?

--
Frédéric Testuz
<mailto:



1 2