1. 正常编译
a)./config
b)make
c)make install
2. 交叉编译
(我的环境:mips,交叉编译工具:buildroot-gcc342.tar.bz2)
a)./config no-asm shared --prefix=/opt/openssl/openssl-install --cross-compile-prefix=/opt/buildroot-gcc342/bin/mipsel-linux-
解释:
no-asm -- 关于汇编的模块部进行编译,因为部分汇编会报错
shared -- 表示编译成动态链接库
--prefix=xxxx
/opt/openssl/openssl-install 为运行make install时,openssl的安装目录
--cross-compile-prefix=xxx
/opt/buildroot-gcc342/bin/mipsel-linux-是我的交叉编译工具的路径及前缀
b)修改Makefile
PLATFORM=linux-elf --> PLATFORM=mips #指定平台
c)make
d)make install #上述指定的安装目录将出现/bin /include /lib /ssl四个目录
更多资料:
http://blog.csdn.net/shaoyizhe2006/article/details/7975434
3. 加入
Ralink项目编译
a)./config
no-asm shared --prefix=/opt/openssl/openssl-install --cross-compile-prefix=/opt/buildroot-gcc342/bin/mipsel-linux-
解释:同上
b)修改上层Makefile(在我的项目里面是在/user目录的Makefile调用编译openssl)
dir_$(CONFIG_USER_OPENSSL) += openssl-0.9.8e
--> dir_$(CONFIG_USER_OPENSSL) += openssl-1.0.1g
c)修改Makefile
(1) PLATFORM=linux-elf --> PLATFORM=mips #指定平台
(2)CC= gcc --> CC= $(CROSS_COMPILE)gcc
(3)AR= ar $(ARFLAGS) r --> AR= $(CROSS_COMPILE)ar $(ARFLAGS) r
(4)RANLIB= /user/local/ranlib --> RANLIB= $(CROSS_COMPILE)ranlib
(5)NM= nm --> NM= $(CROSS_COMPILE)nm
(6)MAKEDEPPROG= gcc --> MAKEDEPPROG= $(CROSS_COMPILE)gcc
注c)的修改,若./config时指定了交叉编译工具,则基本不需要修改
d)尝试make
报错:-lssl could not found
原因:/app下的Makefile调用../Makefile.shared XXX 传递是,无法找到ssl动态链接库。(我的项目出现过此错误)
解决:修改Makefile.shared
$${LDCMD} $${LDFLAGS} -o $${APPNAME:=$(APPNAME)} $(OBJECTS) $${LIBDEPS} )
-->
$${LDCMD} $${LDFLAGS} -o $${APPNAME:=$(APPNAME)} $(OBJECTS) -L.. $${LIBDEPS} )
e)make
更多资料:
http://blog.csdn.net/hinyunsin/article/details/6029439
本文所有:Devile May Cry J QQ:384668960
阅读(2545) | 评论(1) | 转发(0) |