sqlite_has_codec 64 位 c++ visual studio 项目上的 sqlite3 加密

sqlite3 encryption on c++ visual studio project with sqlite_has_codec 64 bits

我正在尝试使用 sqlite3.c 和 c++ CppSqlite3.cpp 中的包装器编译一个项目。它是通过 32 位而不是 64 位的纯魔法编译的。

在我的 c/c++ 编译器中,我包括了这个:

C:\MinGW\msys.0\bin; 
C:\MinGW\bin;
C:\OpenSSL-Win32\openssl-1.0.2e\include; 
C:\JDK\include;
C:\JDK\include\win32;

在我的链接器中,我包括了这个:

C:\Haylem\Devtools\Compiler\OpenSSL\lib

并使用这个库:

libeay32.dll.a

所有这一切都奇迹般地在 32 位中工作,但在 64 位中我有 22 个未解析的外部符号,例如这个:

Severity Code Description Project File Line Suppression State Error LNK2001 unresolved external symbol _EVP_CIPHER_key_length xxxx_project_xxxx sqlite3.obj 1

我知道这与 openssl、libcrypt 有关,但我想 x64 需要另一个库吗?我在哪里可以找到这个?谢谢

我发现了问题,如果有一天有人得到那些未解析的外部符号。这是 openSSL 库的链接器错误。你需要 libeay32.lib 64 位,即使它说 libeay32.lib 网上有一个 32 和 x64 版本为你预编译。