Вопрос

Я собрал статическую библиотеку и связал как SQLCIFIFIFLE и OPENSSL.Полный проект, Makefile и Compicied библиотека можно найти здесь:

https://github.com/anujb/SQLCipherNet
.

Когда я связываю результирующую библиотеку в нормальном проекте Xcode Objective-C, вызов sqlite3_key работает нормально.

Я связывал одну и ту же библиотеку в проекте Monotouch, используя:

-gcc_flags "-L${ProjectDir} -lsqlciphernet -force_load ${ProjectDir}/libsqlciphernet.a"
.

Затем я модифицировал SQLite-Net, чтобы вызвать функцию ключа, после каждого функции SQLite3.Open(...):

[DllImport("__Internal", EntryPoint = "sqlite3_key")]
public static extern Result Key(IntPtr db, string key, int keyLength);
.

Но я получаю enterpointnotFoundException, когда называется ключевым методом.Вот трассировка стека:

System.EntryPointNotFoundException has been thrown at:
at (wrapper managed-to-native) SQLite.SQLite3:Decrypt (intptr,string,int)
at SQLite.SQLiteConnection..ctor (System.String databasePath) [0x00031] in 
../SQLite.cs:108 
.

Очевидно, что у штабета нет особенно полезно, но я в потере откуда начать отлаживать эту проблему.Halp?

Это было полезно?

Решение

Я получаю ту же ошибку при создании вашего решения для «отладки | iPhoneiMulator».Однако ваши варианты проекта, для этой конфигурации, сделайте не включают в себя упомянутый вами генеракодицетагкод - так что исключение совершенно нормально.

Попытка построить конфигурацию «Отладка | iPhone» (где указаны параметры), не удается из-за проблем на пути ... Но я уверен, что это будет работать, если я их исправил; -)

<Сильное> Обновление

Перемещение библиотеки в правильное местоположение дает мне:

Undefined symbols for architecture armv6:   "___udivmodsi4",
referenced from:
      _sqlite3BitvecSet in libsqlciphernet.a(sqlite3.o)
      _sqlite3BitvecClear in libsqlciphernet.a(sqlite3.o)
      _sqlite3BitvecTest in libsqlciphernet.a(sqlite3.o) ld: symbol(s) not found for architecture armv6
.

Я верю, что это отсутствует из-за libopenssl?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top