Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16466
  • 博文数量: 7
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 10
  • 用 户 组: 普通用户
  • 注册时间: 2017-04-10 19:30
文章分类

全部博文(7)

文章存档

2015年(7)

我的朋友

分类: LINUX

2015-01-29 20:39:18

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
阅读(1140) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:Netfilter之连接跟踪(一)

给主人留下些什么吧!~~