概述上面的代码是从网上下载下来的,它使用的SQLite版本比较旧,因此在SQLite 3.7.13下
编译不通过,下面需要对编译
错误和警告逐一修正。 编译信息 原因与修改方法 'Pager' has no member named 'pCodecArg' 在3.7.13版本中,Pager的成员变量pCodecArg名称修改为pCodec,因此用到pCodecArg变量的地方修改为使用pCodec。 to
上面的代码是从网上下载下来的,它使用的sqlite版本比较旧,因此在sqlite 3.7.13下编译不通过,下面需要对编译错误和警告逐一修正。 编译信息 | 原因与修改方法 | 'Pager' has no member named 'pCodecArg' | 在3.7.13版本中,Pager的成员变量pCodecArg名称修改为pCodec,因此用到pCodecArg变量的地方修改为使用pCodec。 | too few arguments to function 'sqlite3PagerPagecount' | 原来sqlite3PagerPagecount()函数用返回值得到页数量,3.7.13改为用指针参数得到页数量。 修改前代码: PgnonPage = sqlite3PagerPagecount(p); 修改如下: intnPage; sqlite3PagerPagecount(p,&nPage); | too few arguments to function 'sqlite3BtreeRollback' | 3.7.13版中sqlite3BtreeRollback()函数增加了个参数,是表示之前SQL语句执行结果的,在网上查了一下,这里直接传常量sqlITE_OK。 | implicit declaration of function 'sqliteFree' | sqliteFree()函数在3.7.13版本中已经没有了,修改为使用sqlite3_free()函数。 | implicit declaration of function 'sqliteMalloc' | 原因同上,修改为使用sqlite3_malloc()函数。 | | | implicit declaration of function 'DATA_TO_PGHDR' | 在3.7.13版本中,宏DATA_TO_PGHDR已经被去掉,这里暂时把该if语句下的代码全部注释。 | warning: passing argument 2 of 'sqlite3pager_set_codec' from incompatible pointer type | sqlite3pager_set_coedc()函数的第二个参数类型为:voID*(*xCodec)(voID*,Pgno,85)">int) 而调用的地方传递的参数类型为:voID*sqlite3Codec(voID*pArg,85)">unsignedchar*data,50)">PgnonPageNum,85)">intnMode) 很明显,第二个参数类型不匹配,修改sqlite3Codec()函数的第二个参数类型为voID *,注意相应的函数声明的地方也要修改。 | warning: passing argument 3 of 'sqlite3PagerAcquire' from incompatible pointer type | 这里第三个参数类型为voID *,实际要求的数据类型为DbPage *,将对应变量类型定义为DbPage *即可。 | warning: variable 'bRc' set but not used | 这个警告不影响使用,不用改。 | warning: 'sqlite3PagerSetCodec' defined but not used | 同上 | 本文出自 “rainman” 博客,请务必保留此出处http://www.jb51.cc/article/p-yidmqxqr-bhx.html |
来源: http://www.jb51.cc/article/p-yidmqxqr-bhx.html 总结
以上是内存溢出为你收集整理的SQLite 3.7.13的加密解密(五)—— 修正编译错误和警告全部内容,希望文章能够帮你解决SQLite 3.7.13的加密解密(五)—— 修正编译错误和警告所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
评论列表(0条)