交叉编译环境搭建

环境准备:Linux系统,gcc-4.9.3-64-gnu.tar.gz,openssl-1.0.2k.tar.gz

1、搭建mips64el-linux-gcc环境

(1)在/opt目录解压 gcc-4.9.3-64-gnu.tar.gz,把对应的 /opt/gcc-4.9.3-64-gnu/bin 目录添加到环境变量;

(2)编辑/etc/profile文件,在最后添加 

export PATH=/opt/gcc-4.9.3-64-gnu/bin:$PATH

(3)使用

source /etc/profile

立即生效

2、通过mips64el-linux-gcc编译,安装openssl

(1) 解压openssl-1.0.2k.tar.gz,进入解压后的目录openssl-1.0.2k

(2) 暂时把环境变量换成mips  gcc的,重启就会失效,这样不需要去Makefile文件修改了

export CC=/opt/gcc-4.9.3-64-gnu/bin/mips64el-linux-gcc

export CPP=/opt/gcc-4.9.3-64-gnu/bin/mips64el-linux-g++

export AR=/opt/gcc-4.9.3-64-gnu/bin/mips64el-linux-ar

export LD=/opt/gcc-4.9.3-64-gnu/bin/mips64el-linux-ld

export RANLIB=/opt/gcc-4.9.3-64-gnu/bin/mips64el-linux-ranlib

(3)  指定安装目录:

./config no-asm shared --prefix=/usr/local/mips

3、修改OpenSSLMakefile文件

 (1)修改Makefile,查找全文删掉 -m64 关键字

 (2)修改以下配置

#SHLIB_MAJOR=1

#SHLIB_MINOR=0.0

SHLIB_MAJOR=10

SHLIB_MINOR=

 (3)去掉中间的点

#SHLIB_EXT=.so.$(SHLIB_MAJOR).$(SHLIB_MINOR)

SHLIB_EXT=.so.$(SHLIB_MAJOR)$(SHLIB_MINOR)

这种修改的地方在本文件还有两处,找到之后去掉中间的点‘.’即可,如图所示:

 

 

 

 

 4、编译安装

然后执行 make 进行编译,如图

成功后可看到在当前目录生成了libcrypto.so库

执行 make install 安装即可

5、修改程序里的 Makefile

修改自己代码里边的 Makefile 文件,主要是添加头文件和库

头文件/usr/local/mips/include 和 库 /usr/local/mips/lib
 
 
                            且视他人之凝目如盏盏鬼火,大胆地去走自己的路。

 

 

原文地址:https://www.cnblogs.com/marshu/p/12808193.html