2009-09-26 4 views
0

Quelqu'un peut-il écrire du code qui utilise la bibliothèque mysqlclient? Je peux obtenir la compilation de travail, mais ne pas lier :(compiler le code mysql c de base avec xcode

XCode produit la sortie suivante:

Build TestMysql of project TestMysql with configuration Debug 

Ld build/Debug/TestMysql normal x86_64 
cd /Users/jacob/Documents/cocoa/TestMysql 
setenv MACOSX_DEPLOYMENT_TARGET 10.5 
/Developer/usr/bin/gcc-4.2 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.5.sdk 
    -L/Users/jacob/Documents/cocoa/TestMysql/build/Debug -L/usr/local/mysql/lib 
    -L/usr/local/mysql-5.1.38-osx10.5-x86_64/lib 
    -F/Users/jacob/Documents/cocoa/TestMysql/build/Debug -filelist /Users/jacob/Documents/cocoa/TestMysql/build/TestMysql.build/Debug/TestMysql.build/Objects-normal/x86_64/TestMysql.LinkFileList 
    -mmacosx-version-min=10.5 -lm -lz -lmysqlclient -lmygcc " 
" -framework CoreFoundation -o /Users/jacob/Documents/cocoa/TestMysql/build/Debug/TestMysql 

i686-apple-darwin10-gcc-4.2.1: 
: No such file or directory 
Command /Developer/usr/bin/gcc-4.2 failed with exit code 1 

Et oui je sais déjà sur le cadre mysql/cacao, le code d'écriture im qui doit compiler sur OS/X et Ironiquement, il ne m'a fallu que 20 minutes pour trouver comment écrire un fichier make pour compiler et lier et exécuter le code objectif-c/mysql, mais xcode est tellement plus compliqué

+0

Qu'est-ce que cette chaîne vide "" après -lmygcc? – nall

+0

Yea le "" semble bizarre. A partir de xcode, il semble y avoir un saut de ligne à l'intérieur! – Jacob

Répondre

1

Je crois que la chaîne "" est vous causant du chagrin - d'autant plus que le nom du fichier d'erreur est la chaîne vide

Autre méthode: Avez-vous envisagé d'utiliser simplement le Makefile que vous avez créé dans XCode?

Fichier-> Nouveau projet-> Autre-> Système de construction externe.

docs Apple sur cette méthode: http://bit.ly/dYNuR

+0

Bonne suggestion, je ne savais pas que vous pouviez le faire. Cependant, je préférerais profiter des outils Apple développés principalement dans xcode sur mon mac, puis utiliser makefiles pour construire des versions linux. – Jacob

1

Ok, son un bug Xcode. Sous l'écran pour ajouter des options de linker avec les boutons + et -, il y avait une option de lien supplémentaire avec un CR ou LF dedans. Ne me demandez pas comment ça s'est passé, je ne sais pas! (:

Ce commentaire au sujet de l'étrange « » m'a aidé à le résoudre (éventuellement)

+0

désolé pour le hors-sujet, mais quelle est votre icône? J'ai vu beaucoup d'entre eux sur OS. – nall

+0

semble également se produire si vous avez une ligne vide dans la liste des drapeaux personnalisés (ou toute autre liste) – AlexEzh

0

Je sais que c'est un ancien poste, mais pour quelqu'un qui a le même problème ...

Assurez-vous. installer dans le par la première configuration/usr/local les fichiers de construction:. sudo cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr/local

Ensuite, make install mettra tout dans les répertoires à côté, dans Xcode, vous devez cliquer droit sur un dossier dans le projet, dites ajouter un framework existant, changez le menu déroulant pour choisir dylibs, choisissez finalement libmysql.dylib.La bibliothèque libmysql.dylib est une bibliothèque partagée que xcode doit rechercher pour les noms de fonctions.

Questions connexes