Undefined symbols for architecture i386:
"_EVP_CIPHER_CTX_cleanup", referenced from:
_sqlcipher_page_cipher in libsqlcipher.a(sqlite3.o)
"_EVP_CIPHER_CTX_set_padding", referenced from:
_sqlcipher_page_cipher in libsqlcipher.a(sqlite3.o)
"_EVP_CIPHER_block_size", referenced from:
_sqlcipher_codec_ctx_set_cipher in libsqlcipher.a(sqlite3.o)
"_EVP_CIPHER_iv_length", referenced from:
_sqlcipher_codec_ctx_set_cipher in libsqlcipher.a(sqlite3.o)
"_EVP_CIPHER_key_length", referenced from:
_sqlcipher_codec_ctx_set_cipher in libsqlcipher.a(sqlite3.o)
"_EVP_CipherFinal", referenced from:
_sqlcipher_page_cipher in libsqlcipher.a(sqlite3.o)
"_EVP_CipherInit", referenced from:
_sqlcipher_page_cipher in libsqlcipher.a(sqlite3.o)
"_EVP_CipherUpdate", referenced from:
_sqlcipher_page_cipher in libsqlcipher.a(sqlite3.o)
"_EVP_MD_size", referenced from:
_sqlcipher_codec_ctx_set_cipher in libsqlcipher.a(sqlite3.o)
"_EVP_get_cipherbyname", referenced from:
_sqlcipher_codec_ctx_set_cipher in libsqlcipher.a(sqlite3.o)
_sqlcipher_activate in libsqlcipher.a(sqlite3.o)
"_EVP_sha1", referenced from:
_sqlcipher_codec_ctx_set_cipher in libsqlcipher.a(sqlite3.o)
_sqlcipher_page_hmac in libsqlcipher.a(sqlite3.o)
"_HMAC_CTX_cleanup", referenced from:
_sqlcipher_page_hmac in libsqlcipher.a(sqlite3.o)
"_HMAC_CTX_init", referenced from:
_sqlcipher_page_hmac in libsqlcipher.a(sqlite3.o)
"_HMAC_Final", referenced from:
_sqlcipher_page_hmac in libsqlcipher.a(sqlite3.o)
"_HMAC_Init_ex", referenced from:
_sqlcipher_page_hmac in libsqlcipher.a(sqlite3.o)
"_HMAC_Update", referenced from:
_sqlcipher_page_hmac in libsqlcipher.a(sqlite3.o)
"_OPENSSL_add_all_algorithms_noconf", referenced from:
_sqlcipher_activate in libsqlcipher.a(sqlite3.o)
"_PKCS5_PBKDF2_HMAC_SHA1", referenced from:
_sqlcipher_cipher_ctx_key_derive in libsqlcipher.a(sqlite3.o)
"_RAND_bytes", referenced from:
_sqlcipher_random in libsqlcipher.a(sqlite3.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
and when trying to build for device i am getting following errors
Undefined symbols for architecture armv7:
"_HMAC_Init_ex", referenced from:
_sqlcipher_page_hmac in libsqlcipher.a(sqlite3.o)
"_EVP_CIPHER_CTX_set_padding", referenced from:
_sqlcipher_page_cipher in libsqlcipher.a(sqlite3.o)
"_EVP_CIPHER_key_length", referenced from:
_sqlcipher_codec_ctx_set_cipher in libsqlcipher.a(sqlite3.o)
"_EVP_get_cipherbyname", referenced from:
_sqlcipher_codec_ctx_set_cipher in libsqlcipher.a(sqlite3.o)
_sqlcipher_activate in libsqlcipher.a(sqlite3.o)
"_OPENSSL_add_all_algorithms_noconf", referenced from:
_sqlcipher_activate in libsqlcipher.a(sqlite3.o)
"_EVP_CIPHER_CTX_cleanup", referenced from:
_sqlcipher_page_cipher in libsqlcipher.a(sqlite3.o)
"_EVP_sha1", referenced from:
_sqlcipher_codec_ctx_set_cipher in libsqlcipher.a(sqlite3.o)
_sqlcipher_page_hmac in libsqlcipher.a(sqlite3.o)
"_PKCS5_PBKDF2_HMAC_SHA1", referenced from:
_sqlcipher_cipher_ctx_key_derive in libsqlcipher.a(sqlite3.o)
"_EVP_CipherUpdate", referenced from:
_sqlcipher_page_cipher in libsqlcipher.a(sqlite3.o)
"_HMAC_CTX_init", referenced from:
_sqlcipher_page_hmac in libsqlcipher.a(sqlite3.o)
"_EVP_CIPHER_block_size", referenced from:
_sqlcipher_codec_ctx_set_cipher in libsqlcipher.a(sqlite3.o)
"_EVP_CipherFinal", referenced from:
_sqlcipher_page_cipher in libsqlcipher.a(sqlite3.o)
"_EVP_CipherInit", referenced from:
_sqlcipher_page_cipher in libsqlcipher.a(sqlite3.o)
"_HMAC_CTX_cleanup", referenced from:
_sqlcipher_page_hmac in libsqlcipher.a(sqlite3.o)
"_HMAC_Update", referenced from:
_sqlcipher_page_hmac in libsqlcipher.a(sqlite3.o)
"_EVP_MD_size", referenced from:
_sqlcipher_codec_ctx_set_cipher in libsqlcipher.a(sqlite3.o)
"_RAND_bytes", referenced from:
_sqlcipher_random in libsqlcipher.a(sqlite3.o)
"_EVP_CIPHER_iv_length", referenced from:
_sqlcipher_codec_ctx_set_cipher in libsqlcipher.a(sqlite3.o)
"_HMAC_Final", referenced from:
_sqlcipher_page_hmac in libsqlcipher.a(sqlite3.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
- (void) openDatabaseConnection
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:APPDB];
// Open the database. The database was prepared outside the application.
if (sqlite3_open([path UTF8String], &dataBaseConnection) == SQLITE_OK)
{
const char* key = [@"BIGSecret" UTF8String];
sqlite3_key(dataBaseConnection, key, strlen(key));
NSLog(@"Database Successfully Opened :)");
if (sqlite3_exec(dataBaseConnection, (const char*) "SELECT count(*) FROM sqlite_master;", NULL, NULL, NULL) == SQLITE_OK) {
NSLog(@"password correct");
} else {
NSLog(@"password Wrong");
}
}
else
{
NSLog(@"Error in opening database :(");
}
}
APPDB is the name of my database file.