2010-11-27 6 views
1

J'ai écrit une application iPhone contre SDK 2.2, j'ai mis à jour mon XCode et SDK maintenant j'ai seulement SDK 4.2 et je veux mettre à jour mon application pour fonctionner avec ça.Compile échoue pour iOS 4 avec Sqlite

Le problème est que je n'arrive même pas à le compiler!

Je reçois l'erreur suivante:

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk/usr/include/sqlite3.h:5772: erreur: attendu '=', ' ' '', 'asm' ou' attribut' avant 'int'

La ligne en question est:

SQLITE_API int sqlite3_rtree_geometry_callback ( sqlite3 * db, const char * zGeom, int (* xGeom) (sqlite3_rtree_geometry *, int nC oord, double * aCoord, int * pRes), void * pContext );

J'ai essayé de relier les frameworks sqlite les plus récents, à la fois libsqlite3.dylib et libsqlite3.dylib, mais les deux provoquent toujours cette erreur.

Si je commente ma déclaration d'importation (#import "sqlite3.h"), elle se compile correctement. (Bien qu'il se bloque quand je le lance, évidemment.)

+0

Il semble que SQLITE_INT soit défini sur quelque chose que le compilateur ne peut pas reconnaître. Que voyez-vous si vous exécutez 'gcc' avec l'indicateur' -E' pour voir ce que le préprocesseur produit pour le compilateur? –

+0

L'exécution de 'gcc -E' sur le terminal me donne: i686-apple-darwin10-gcc-4.2.1: aucun fichier d'entrée. Je ne suis pas sûr que ce soit ce que vous demandiez. Si j'ai besoin d'ajouter l'indicateur -E quelque part dans les paramètres de mon projet, je ne sais pas où le faire. – Jet

+0

J'ai installé XCode 3.2.3 avec iOS 4.0 SDK et mon application compile et tourne très bien dans iPhone Simulator 4.0. Mais en utilisant le même projet et en l'ouvrant dans XCode 3.2.5 avec n'importe quel simulateur, il échoue à compiler. – Jet

Répondre

0

J'ai réussi à le faire fonctionner après avoir remplacé #import « sqlite3.h » par #import « /usr/include/sqlite3.h »

0

J'ai fini créer un nouveau projet, et importer tous les fichiers de l'original, puis relier le framework sqlite. Après cela, il a très bien été compilé.

1

Je l'ai utilisé de la même manière l'utilisation Sqlite.h importer cette bibliothèque:

#import <sqlite3.h> 

et résolu la question.