如何在QT中使用SQLCipher 我试图在QT C++项目中使用SqleCiver。我正在运行一台windows计算机,我使用了中介绍的步骤(直到步骤5结束)来生成我的sqlite3.h、sqlite3.c、sqlcipher.exe和sqlite3.dll。希望现在我有了一个运行良好的可执行文件,但我正在尝试在我的QT项目中使用SQLCipher。我想将sqlite3.h和sqlite3.dll添加到我的项目中,并使用其函数处理数据库。我已将sqlcipher master中的sqlite3.h和sqlite3.dll复制到我的项目中。我的.pro文件如下所示: HEADERS +=\ sqlcipher/sqlite3.h \ myOtherHeaderFiles.\ QMAKE_CXXFLAGS += -DSQLITE_OS_WIN=1 -DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2 -ldl -lpthread LIBS+="path\to\project\sqlite3.dll"
当我尝试构建我的项目时,没有发生编译错误,但当我尝试运行它时,我得到:如何在QT中使用SQLCipher 我试图在QT C++项目中使用SqleCiver。我正在运行一台windows计算机,我使用了中介绍的步骤(直到步骤5结束)来生成我的sqlite3.h、sqlite3.c、sqlcipher.exe和sqlite3.dll。希望现在我有了一个运行良好的可执行文件,但我正在尝试在我的QT项目中使用SQLCipher。我想将sqlite3.h和sqlite3.dll添加到我的项目中,并使用其函数处理数据库。我已将sqlcipher master中的sqlite3.h和sqlite3.dll复制到我的项目中。我的.pro文件如下所示: HEADERS +=\ sqlcipher/sqlite3.h \ myOtherHeaderFiles.\ QMAKE_CXXFLAGS += -DSQLITE_OS_WIN=1 -DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2 -ldl -lpthread LIBS+="path\to\project\sqlite3.dll",c++,sqlite,qt,dll,sqlcipher,C++,Sqlite,Qt,Dll,Sqlcipher,当我尝试构建我的项目时,没有发生编译错误,但当我尝试运行它时,我得到: 11:55:15: Starting path\to\project\build-project-Desktop_Qt_5_14_1_MinGW_32_bit-Debug\project.exe ... 11:55:15: The program has unexpectedly finished. 11:55:15: The process was ended forcefully. 11:55:15: path\to\p
11:55:15: Starting path\to\project\build-project-Desktop_Qt_5_14_1_MinGW_32_bit-Debug\project.exe ...
11:55:15: The program has unexpectedly finished.
11:55:15: The process was ended forcefully.
11:55:15: path\to\project\build-project-Desktop_Qt_5_14_1_MinGW_32_bit-Debug\project\build-project-Desktop_Qt_5_14_1_MinGW_32_bit-Debug\project.exe crashed.
我错过了什么重要的事情吗?我是否复制了错误的文件,或者在构建项目之前是否还有其他需要添加的内容?如果您有在QT+mingw项目中使用SQLCipher的经验,请留下评论或指导我完成。“崩溃”可能意味着什么。在调试器下运行它,这样我们至少可以看到崩溃的位置或原因。如果直接运行该程序,是否会出现任何有用的错误?@Botje我试图使用
QT控制台运行我的.exe
。它说找不到sqlite3.dll
。我把文件复制到文件夹中,现在它运行了。我在.pro
到.dll
的文件中使用了一个静态路径,所以我希望它能顺利运行。看来问题解决了。我将尝试测试加密并留下另一条注释。Windows可执行文件仅存储依赖库的模块名(=文件名),而不是完整路径。在运行时,您受到“崩溃”的摆布,这可能意味着什么。在调试器下运行它,这样我们至少可以看到崩溃的位置或原因。如果直接运行该程序,是否会出现任何有用的错误?@Botje我试图使用QT控制台运行我的.exe
。它说找不到sqlite3.dll
。我把文件复制到文件夹中,现在它运行了。我在.pro
到.dll
的文件中使用了一个静态路径,所以我希望它能顺利运行。看来问题解决了。我将尝试测试加密并留下另一条注释。Windows可执行文件仅存储依赖库的模块名(=文件名),而不是完整路径。在运行时,您将受