sqlcipher离线编译
2022/4/2 19:49:37
本文主要是介绍sqlcipher离线编译,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
编译tcl
# tar -xvzf tcl8.6.9-src.tar.gz # cd tcl8.69/unix # ./configure --prefix=/user/local/tcl # make # sudo make install # sudo ln -s /user/local/tcl/bin/tclsh8.6 /bin/tclsh
编译sqlite3
SQLite不使用Git版本控制系统。SQLite使用Fossil作为替代 make clean 1,下载SQLite源代码sqlite-3.6.23.1.tar.gz 2,复制sqlite-3.6.23.1.tar.gz到linux上的/usr/src目录 3, 解压源代码 tar -xvzf sqlite-3.6.23.1.tar.gz 4,进入源代码目录 cd sqlite-3.6.23.1 5,配置编译与安装参数 ./configure --prefix=/usr/local/sqlite 6,编译 make 7, 安装 make install 进入SQLite安装目录 cd /usr/local/sqlite/bin 安装好SQLite后,主要包括命令文件、头文件和库文件。 目录文件 说明 /usr/local/sqlite/bin 只有一个命令文件Sqlite /usr/local/sqlite/include 包含sqlite3.h和sqlite3ext.h两个头文件 /usr/local/sqlite/lib 包含libsqlite3.so和libsqlite3.a等SQLite静态库和动态库文件 LD_LIBRARY_PATH: 动态库的查找路径 使用时将sqlite3命令文件和库文件路径导入到环境变量,可修改~/.bashrc文件或~/.bash_profile文件或/etc/profile文件。 $ vi ~/.bashrc // 修改配置文件,添加以下两行 复制代码 代码如下: export PATH=/usr/local/sqlite/bin:$PATH export LD_LIBRARY_PATH=/usr/local/sqlite/lib:$LD_LIBRARY_PATH export C_INCLUDE_PATH=/usr/local/sqlite/include:$C_INCLUDE_PATH ## source ~/.bashrc // 执行配置文件 C_INCLUDE_PATH、CPLUS_INCLUDE_PATH
openssh
https://www.openssl.org/source/ https://github.com/openssl/openssl $ ./Configure --prefix=/usr/local/ssl --openssldir=/usr/local/ssl '-Wl,-rpath,$(LIBRPATH)' https://github.com/openssl/openssl/blob/master/NOTES-UNIX.md 1. 安装activePerl,因为OPENSSL源码需要用到perl指令。(http://www.activestate.com/activeperl/downloads) 2. 下载openssl源码。(https://www.openssl.org/source/) 3. 下载MASM,因为需要对汇编语言编译。(http://www.microsoft.com/en-us/download/)
sqlcipher在linux上编译
编译sqlite,只需按照readme中的方法编译即可。 编译sqlcipher,在linux上测试, 只需配置configure时,增加SQLITE_HAS_CODEC和SQLITE_TEMP_STORE=2,就可以正常编译出有加密功能的sqlite3可执行文件 sqlcipher使用了openssl的加密算法,因此,需要下载编译openssl库文件 sqlcipher是sqlite3的加强版,提供加密。 也就是sqlite3的修改版,里面修改添加了代码,并以一些预编译宏来进行分支选路。 所有修改过的代码片段都包含在预编译宏SQLITE_HAS_CODEC保护下 SQLITE_TEMP_STORE 编译时参数是源代码中的宏定义(#define),其取值范围是0到3(缺省值为1) ./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC" sqlite-release/manifest', needed by `sqlite3.h'. Stop. SQLITE_HAS_CODEC 和 SQLITE_TEMP_STORE=2 ./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC" LDFLAGS="-lcrypto" --prefix=/usr/local/sqlcipher -L /usr/local/sqlite/include $ ./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC" LDFLAGS="-lcrypto -L /usr/local/opt/openssl/lib" CPPFLAGS="-I/usr/local/opt/openssl/include" $ ./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC" LDFLAGS="-lcrypto -L /usr/local/opt/openssl/lib" CPPFLAGS="-I/usr/local/opt/openssl/include" $ make $ sudo make install
验证和创建
验证sqlcipher # sqlcipher 创建加密数据库 # sqlcipher test.db
参考
https://github.com/mackyle/sqlite https://sqlite.org/src/dir?ci=trunk https://repo.or.cz/sqlite.git https://github.com/sqlcipher/sqlcipher https://github.com/tcltk/tcl/archive/refs/tags/release.tar.gz
这篇关于sqlcipher离线编译的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-01UniApp 中组件的生命周期是多少-icode9专业技术文章分享
- 2024-11-01如何使用Svg Sprite Icon简化网页图标管理
- 2024-10-31Excel数据导出课程:新手从入门到精通的实用教程
- 2024-10-31Excel数据导入课程:新手入门指南
- 2024-10-31RBAC的权限课程:新手入门教程
- 2024-10-31Svg Sprite Icon课程:新手入门必备指南
- 2024-10-31怎么配置 L2TP 允许多用户连接-icode9专业技术文章分享
- 2024-10-31怎么在FreeBSD上 安装 OpenResty-icode9专业技术文章分享
- 2024-10-31运行 modprobe l2tp_ppp 时收到“module not found”消息提醒是什么-icode9专业技术文章分享
- 2024-10-31FreeBSD的下载命令有哪些-icode9专业技术文章分享