概述
目录
当前使用环境
1.openssl编译
后续继续更新。。。
当前使用环境
- 开发平台:ubuntu18.04.1 x86_64
- 海思硬件:海思3516DV300
- 交叉编译工具链:arm-himix200-linux-(其他平台及工具链类似)
1.openssl编译
- 下载源码:/source/old/index.html ,此处我是用的是1.1.1j版本;
- 拷贝压缩包:下载完成得到openssl-1.1.1j.tar.gz压缩包,使用samba或其他方式拷贝到linux下(开发平台),放入工作目录(可自定义),如:/home/research/;
- 解压压缩包:进入工作目录,使用tar zxvf openssl-1.1.1j.tar.gz解压,得到文件夹openssl-1.1.1j;
lcc@zhixun-kf:~/research$ pwd
/home/lcc/research
lcc@zhixun-kf:~/research$ ls
openssl-1.1.1j.tar.gz
lcc@zhixun-kf:~/research$ tar zxvf openssl-1.1.1j.tar.gz
.
.
.
lcc@zhixun-kf:~/research$ ls
openssl-1.1.1j openssl-1.1.1j.tar.gz
- 生成Makefile:进入目录,使用如下命令生成Makefile文件;
lcc@zhixun-kf:~/research$ cd openssl-1.1.1j/
lcc@zhixun-kf:~/research/openssl-1.1.1j$ pwd
/home/lcc/research/openssl-1.1.1j
lcc@zhixun-kf:~/research/openssl-1.1.1j$ ./config no-asm no-shared --prefix=/home/lcc/research/openssl-1.1.1j/install_my
Operating system: x86_64-whatever-linux2
Configuring OpenSSL version 1.1.1j (0x101010afL) for linux-x86_64
Using os-specific seed configuration
Creating configdata.pm
Creating Makefile
**********************************************************************
*** ***
*** OpenSSL has been successfully configured ***
*** ***
*** If you encounter a problem while building, please open an ***
*** issue on GitHub <https://github.com/openssl/openssl/issues> ***
*** and include the output from the following command: ***
*** ***
*** perl configdata.pm --dump ***
*** ***
*** (If you are new to OpenSSL, you might want to consult the ***
*** 'Troubleshooting' section in the INSTALL file first) ***
*** ***
**********************************************************************
lcc@zhixun-kf:~/research/openssl-1.1.1j$ ls
ACKNOWLEDGEMENTS AUTHORS config Configurations crypto engines FAQ INSTALL ms NOTES.DJGPP NOTES.VMS README ssl util
apps build.info config.com Configure demos e_os.h fuzz LICENSE NEWS NOTES.PERL NOTES.WIN README.ENGINE test VMS
appveyor.yml CHANGES configdata.pm CONTRIBUTING doc external include Makefile NOTES.ANDROID NOTES.UNIX os-dep README.FIPS tools
lcc@zhixun-kf:~/research/openssl-1.1.1j$
如果要编译动态库,则把no-shared改为shared,--prefix指定编译目录。
- 修改Makefile:修改Makefile文件
- 删除-m64,使其编译32位版本,如果需要64位版本则忽略此步骤;
- 指定编译器:
修改为
修改为
-
编译源码:使用make -j8 及 make install 编译;
make -j8
make install
- 查看结果:进入install_my目录查看生成结果
lcc@zhixun-kf:~/research/openssl-1.1.1j$ cd install_my/
lcc@zhixun-kf:~/research/openssl-1.1.1j/install_my$ ls
bin include lib share ssl
lcc@zhixun-kf:~/research/openssl-1.1.1j/install_my$
- 测试demo:进入install_my,使用vi test.cpp新建测试demo源码,粘贴以下内容
#include "openssl/md5.h"
#include <string>
#define MD5LENTH 16
unsigned char MD5result[MD5LENTH];
int main()
{
std::string strText = "xiangnan";
MD5_CTX md5_ctx;
MD5_Init(&md5_ctx);
MD5_Update(&md5_ctx, strText.c_str(), strText.length());
MD5_Final(MD5result, &md5_ctx);
printf("MD5:");
for (int i = 0; i < MD5LENTH; i++)
{
printf("%02x", MD5result[i]);
}
printf("n");
MD5((const unsigned char*)strText.c_str(), strText.length(), MD5result);
printf("MD5:");
for (int i = 0; i < MD5LENTH; i++)
{
printf("%02x", MD5result[i]);
}
printf("n");
}
保存退出后,使用如下指令编译生成demo;
arm-gcc6.3-linux-uclibceabi-g++ -o test test.cpp -I./include -L./lib -lssl -lcrypto -static
挂在板子运行,运行demo,完成编译测试工作。
后续继续更新。。。
最后
以上就是激动自行车为你收集整理的海思常用库交叉编译当前使用环境1.openssl编译后续继续更新。。。的全部内容,希望文章能够帮你解决海思常用库交叉编译当前使用环境1.openssl编译后续继续更新。。。所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复