函数'sqlite3_key'的隐式声明? [英] Implicit declaration of function 'sqlite3_key'?

查看:23
本文介绍了函数'sqlite3_key'的隐式声明?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在研究 SQLite 文件加密.我添加了 sqlCipher &加密框架在我的项目中成功.

I am working on SQLite File Encryption. I have added sqlCipher & crypto frameworks successfully in my project.

现在当我尝试在这一行编译我的应用程序时

Now when I try to compile my application on this line

int rc = sqlite3_key(database, [key UTF8String], strlen([key UTF8String]));

它说函数'sqlite3_key'的隐式声明

it says Implicit declaration of function 'sqlite3_key'

所以上面的隐式声明"对我来说听起来像是函数已定义但未声明.但是我必须在哪里声明?

So above line "implicit declaration" sounds to me like function is defined but not declared. But where I have to declared ?

在互联网上搜索时,这篇文章,它说 SQLite 加密扩展 (SEE) 不能公开使用.我必须以大约 2000 美元的价格购买它.

While searching over Internet, under this article, it says like SQLite Encryption Extension(SEE) is not available publically. I have to purchase it of cost around $2000.

SEE -> http://www.hwaci.com/sw/sqlite/see.html

所以这是我得到隐式声明的唯一原因 &sqlite加密过程中的错误响应?

So this is the only reason I am getting Implicit declaration & False response while sqlite encryption process ?

推荐答案

是的,这就是您收到编译器警告的原因.函数 sqlite3_key() 未在 iOS 附带的 libsqlite3 版本中定义.添加函数声明不会有帮助——它会修复编译器警告,但这只是意味着你会得到一个链接器错误,因为函数没有在任何地方定义.

Yes, that is the reason you are getting that compiler warning. The function sqlite3_key() is not defined in the version of libsqlite3 included with iOS. Adding in a function declaration isn't going to help-- it would fix that compiler warning, but it would just mean you'll get a linker error since the function isn't defined anywhere.

如果您购买了 SEE,您可能会构建自己的 SQLite 副本,将其嵌入到您的应用程序中,而不是使用系统的 libsqlite3.这意味着当应用商店提交过程询问您的应用是否包含加密时,您必须说是",这意味着在提交应用之前需要额外的文书工作和时间.我不确定是否有任何明确的迹象表明 Apple 是否会接受它——他们可能会接受,但众所周知,它们会让人们感到惊讶.

If you purchased SEE you could probably build your own copy of SQLite, embed it in your app, and just not use the system's libsqlite3. That this would mean you'd have to say "yes" when the app store submission process asks if your app includes encryption, meaning extra paperwork and time before you could submit the app. I'm not certain whether there's any clear indication of whether Apple would accept it even then-- probably they would, but they've been known to surprise people.

这篇关于函数'sqlite3_key'的隐式声明?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆