2010-06-10 4 views
0

Je développe une application iphone qui utilise sqlite3 comme base de données. Cette fois, ma version OS X était léopard. Donc, ajoutez libsqlite3.0.dylib ajouté aux frameworks et compilez sans aucun problème, et si vous rencontrez des problèmes, je pourrais aussi l'exécuter sur l'appareil.Compilation du programme iPhone avec la bibliothèque libsqlite3

Cette semaine, j'ai installé Snow Leopard sur mon Mac. Suppression de l'ancienne version de Leopard et installation d'un nouveau système Snow Leopard.

Mais mon problème est maintenant que je ne peux pas compiler ce programme car il donnera des erreurs avec la bibliothèque sqlite3. J'ai ajouté sqlite3.0.dylib en sélectionnant des cibles, puis en sélectionnant le fichier. En outre essayé d'ajouter le sélectionnant directement depuis /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.3.sdk/usr/lib

Je reçois deux erreurs différentes quand je compilé à l'appareil et au simulateur

lorsqu'il est compilé à l'appareil, ld: avertissement: dans /opt/local/lib/libsqlite3.0.dylib, fichier n'est pas nécessaire de l'architecture *

lorsque compilé au simulateur, ld: avertissement:/opt/local/lib/libsqlite3.0.dylib, le fichier a été créé pour le format de fichier non pris en charge qui n'est pas l'architecture liée (i386) ld: warning: in/Developer/Pl atforms/iPhoneOS.platform/Développeur/SDKs/iPhoneOS3.1.3.sdk/usr/lib/libSystem.dylib, architecture requise manquante i386 dans le fichier ld: dans /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.3 .sdk/usr/lib/libobjc.A.dylib, manquant l'architecture i386 nécessaire dans le fichier commande /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 échoué avec le code de sortie 1

i aussi essayé avec l'ajout de sqlite3.dylib (, je pense que sqlite3.0.dylib est lié à sqlite3.dylib.) mais pas de chance.

Quelqu'un pourrait-il m'aider? J'essaie vraiment de faire fonctionner ça. S'il vous plaît laissez-moi si vous voulez plus de détails.

Merci, Waruna

+0

Utilisez-vous libsqlite3.0.dylib ou libsqlite3.dylib? – Helen

Répondre

0

Peut-être un peu en retard pour le demandeur d'origine. Mais ce qui fonctionne pour moi est d'aller chercher et supprimer le (s) fichier (s) libsqlite.dylib du dossier de votre projet et d'y ajouter à nouveau la référence du framework.

Espérons que cela aide

0

Vous devez créer un lien vers la bibliothèque qui est dans le chemin du SDK. Lorsque vous sélectionnez "Ajouter un cadre ...", une liste des cadres disponibles dans le chemin par défaut s'affiche. Ne quittez pas cette liste, mais sélectionnez la bibliothèque sqlite dans la liste.

La bibliothèque située dans/opt/local/lib/ne doit être utilisée que par une application s'exécutant sur votre ordinateur. Pas pour les applications iPhone.

+0

Hey Claus je l'ai fait, mais il m'a quand même donné les mêmes erreurs, c'est pourquoi fatigué de naviguer loin du chemin par défaut et essayé d'autres méthodes. Avez-vous une idée pourquoi? Cela a parfaitement fonctionné dans Leopard. – Waruna

+0

"ld: warning: dans /opt/local/lib/libsqlite3.0.dylib, le fichier n'est pas de l'architecture requise" montre que vous êtes en train de créer une liaison avec la mauvaise bibliothèque. Essayez de supprimer la bibliothèque de votre projet et de l'ajouter à nouveau. –

+0

ouais je l'ai fait, mais pas de chance :( – Waruna

0

Je ne comprends pas pourquoi ajouter la bibliothèque fournie avec votre système d'exploitation. Pourquoi ne pas simplement ajouter les sources à votre projet? il vous donnera la liberté de mettre à jour la version de SQLite selon vos propres termes et ne dépendra pas du SQLite sur votre boîte. que se passe-t-il si un utilisateur exécute une ancienne version du système d'exploitation? allez-vous les forcer à mettre à jour leur système?

Questions connexes