我已经为Linux构build了sqlcipher,但是依赖于openssl。 我想configurationsqlcipher工作,没有外部openssl库通过静态链接。 我用这个命令configurationsqlcipher
./configure --prefix=/home/admin/Downloads/qt-everywhere-opensource-src-4.8.0/src/plugins/sqldrivers/sqlcipher/ --disable-shared --enable-static --enable-tempstore=yes CFLAGS="-DsqlITE_HAS_CODEC" LDFLAGS="/usr/lib64/libcrypto.a" make
之后我得到了下一个string:
/libtool --mode=link gcc -DsqlITE_HAS_CODEC -DsqlITE_OS_UNIX=1 -I. -I./src -I./ext/rtree -D_HAVE_sqlITE_CONfig_H -DNDEBUG -I/usr/include -DsqlITE_THREADSAFE=1 -DsqlITE_OMIT_LOAD_EXTENSION=1 /usr/lib64/libcrypto.a -DHAVE_READLINE=0 -o sqlite3 ./src/shell.c libsqlite3.la -lpthread -rpath "/home/admin/Downloads/qt-everywhere-opensource-src-4.8.0/src/plugins/sqldrivers/sqlcipher/lib" libtool: link: gcc -DsqlITE_HAS_CODEC -DsqlITE_OS_UNIX=1 -I. -I./src -I./ext/rtree -D_HAVE_sqlITE_CONfig_H -DNDEBUG -I/usr/include -DsqlITE_THREADSAFE=1 -DsqlITE_OMIT_LOAD_EXTENSION=1 -DHAVE_READLINE=0 -o sqlite3 ./src/shell.c /usr/lib64/libcrypto.a ./.libs/libsqlite3.a -lpthread -Wl,-rpath -Wl,/home/admin/Downloads/qt-everywhere-opensource-src-4.8.0/src/plugins/sqldrivers/sqlcipher/lib ./.libs/libsqlite3.a(sqlite3.o): In function `sqlcipher_activate': sqlite3.c:(.text+0xb66): undefined reference to `EVP_get_cipherbyname' sqlite3.c:(.text+0xb70): undefined reference to `OPENSSL_add_all_algorithms_noconf' ./.libs/libsqlite3.a(sqlite3.o): In function `sqlcipher_random': sqlite3.c:(.text+0xc0c): undefined reference to `RAND_bytes' ./.libs/libsqlite3.a(sqlite3.o): In function `sqlcipher_codec_ctx_set_cipher': sqlite3.c:(.text+0x11a2): undefined reference to `EVP_get_cipherbyname' sqlite3.c:(.text+0x11ba): undefined reference to `EVP_CIPHER_key_length' sqlite3.c:(.text+0x11d4): undefined reference to `EVP_CIPHER_iv_length' sqlite3.c:(.text+0x11ee): undefined reference to `EVP_CIPHER_block_size' sqlite3.c:(.text+0x11fd): undefined reference to `EVP_sha1' sqlite3.c:(.text+0x1205): undefined reference to `EVP_MD_size' ./.libs/libsqlite3.a(sqlite3.o): In function `sqlcipher_page_hmac': sqlite3.c:(.text+0x1880): undefined reference to `HMAC_CTX_init' sqlite3.c:(.text+0x1885): undefined reference to `EVP_sha1' sqlite3.c:(.text+0x18b9): undefined reference to `HMAC_Init_ex' sqlite3.c:(.text+0x18d9): undefined reference to `HMAC_Update' sqlite3.c:(.text+0x18f8): undefined reference to `HMAC_Update' sqlite3.c:(.text+0x1917): undefined reference to `HMAC_Final' sqlite3.c:(.text+0x1929): undefined reference to `HMAC_CTX_cleanup' ./.libs/libsqlite3.a(sqlite3.o): In function `sqlcipher_page_cipher': sqlite3.c:(.text+0x1b35): undefined reference to `EVP_CipherInit' sqlite3.c:(.text+0x1b4a): undefined reference to `EVP_CIPHER_CTX_set_padding' sqlite3.c:(.text+0x1b7a): undefined reference to `EVP_CipherInit' sqlite3.c:(.text+0x1ba2): undefined reference to `EVP_CipherUpdate' sqlite3.c:(.text+0x1bcc): undefined reference to `EVP_CipherFinal' sqlite3.c:(.text+0x1be2): undefined reference to `EVP_CIPHER_CTX_cleanup' ./.libs/libsqlite3.a(sqlite3.o): In function `sqlcipher_cipher_ctx_key_derive': sqlite3.c:(.text+0x1d3a): undefined reference to `PKCS5_PBKDF2_HMAC_SHA1' sqlite3.c:(.text+0x1e08): undefined reference to `PKCS5_PBKDF2_HMAC_SHA1' collect2: ld returned 1 exit status make: *** [sqlite3] Error 1
我已经安装了openssl和openssl-dev包,并且存在/usr/lib64/libcrypto.a。 我做错了什么?
在Linux上定制TG2480H USB
用通配符运算符命令行`qdel`命令
如何在多主机之间创builddocker覆盖networking?
一次性项目的脚手架/搭build系统
如何在SVN仓库中列出大于1 GB的文件
通过脚本安装OpenCV和FFMPEG时出错
检查你是否在主目录(Linux)
Linux套接字:如何检测客户端程序中断开的networking?
在linux中符号^ 是什么意思?
调整您的CFLAGS以包含OpenSSL头文件的路径。 像这样的东西:
CFLAGS="-DsqlITE_HAS_CODEC -I/path/to/openssl/include"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。