Sqlite数据库加密与wxsqlite3运行时错误

时间:2018-04-06 19:25:47

标签: c++ encryption sqlite wxwidgets dynamic-linking

我从here(wxSQLite3 3.5.9)下载了预建的二进制文件,并且我下载了sqlite3.h文件版本3.21.0,我添加了头文件.dll和{{ 1}}文件到我的项目。

我复制了32位版本的dll和lib文件,并将其复制到我的解决方案中,并将.lib文件添加到项目属性中.lib的{​​{1}}。

我用C ++创建了这个示例应用程序:

Additional Dependencies

当我运行此程序时,我在运行时遇到此错误: Run time error

但如果我评论这部分代码

Linker->Input

它运作得很好,我做错了什么?

1 个答案:

答案 0 :(得分:1)

C / C ++代码似乎没问题。如果测试应用程序可以正确编译,显然使用了有效的链接库。但是,运行时错误消息表明未加载正确的DLL。

这表示预编译的SQLite DLL未复制到测试应用程序的可执行文件所在的同一目录中,或者不在应用程序的搜索路径中。但是,在搜索路径中找到了一些SQLite DLL,但很可能是一个"官方" SQLite DLL,不包含加密扩展名。

确保测试应用程序可以访问包含加密扩展的SQLite DLL。

来自wxSQLite3版本的预编译二进制文件肯定包含入口点sqlite3_key和sqlite3_rekey。