Undefined symbols for architecture arm64: "_sqlite3_key"

muqaddarmuqaddar Administrateur
octobre 2014 modifié dans API UIKit #1

Salut,


 


Je n'arrive plus à  compiler mon application. :-)


 


J'utilise SQLCipher:


https://www.zetetic.net/sqlcipher/ios-tutorial



Undefined symbols for architecture arm64:
  "_sqlite3_key", referenced from:
      -[FMDatabase setKeyWithData:] in FMDatabase.o
      -[FMDatabase(FMDatabase_Encrypted) openEncryptedWithKey:] in FMDatabase+Encrypted.o
  "_sqlite3_rekey", referenced from:
      -[FMDatabase rekeyWithData:] in FMDatabase.o
ld: symbol(s) not found for architecture arm64

Si je vire arm64, j'ai le même message avec armv7s, et ainsi de suite, même avec armv7.


 


Mon target:


 


Réponses

  • CéroceCéroce Membre, Modérateur

    Est-tu sûr de ne pas avoir ajouté les versions Mac des lib ?


  • muqaddarmuqaddar Administrateur


    Est-tu sûr de ne pas avoir ajouté les versions Mac des lib ?




     


    Les libs sont compilées à  la volée.

  • AliGatorAliGator Membre, Modérateur
    Comment sont intégrées ces libs ? CocoaPods ?

    Quand tu dis "ça marchait bien dans le temps", c'est genre il y a plusieurs mois, car tu n'avais pas touché à  ton projet depuis un bail ? Ou c'est genre il y a 3 jours ?

    Saurais-tu ce que tu as changé depuis ? Que dit l'historique GIT entre quand ça marchait et depuis que ça ne marche plus
  • muqaddarmuqaddar Administrateur

    Non, ce n'est pas du CocoaPods.


     


    On les intègre en ajoutant les WorkSpaces, c'est expliqué ici:


    https://www.zetetic.net/sqlcipher/ios-tutorial


     


    ça marchait ce matin encore, mais pour quelques plateformes (j'étais sans arrêt en train de jongler avec les flags Architectures pour faire un run, soit sur le device, soit dans le simu).


     


    Donc, j'ai tout réinstallé et retéléchargé, et ça ne marche plus.


     


    Par contre, j'ai un projet 100% Mac, qui me sert justement à  fabriquer ma base cryptée, qui marche sans aucun problème avec les mêmes libs (les mêmes WorkSpaces).

  • muqaddarmuqaddar Administrateur

    En passant le target de SQLCipher Build Active Arch Only à  NO, ça va beaucoup mieux.


    Merci Céroce.


     


    En effet, cette lib était en arm64 et les 2 autres en armv7s.


  • muqaddarmuqaddar Administrateur

    J'en ai profité pour télécharger la dernière version de OpenSSL, et maintenant tout est compatible avec arm64. Joie.


Connectez-vous ou Inscrivez-vous pour répondre.