zoukankan      html  css  js  c++  java
  • linux第三方程序移植

    摘要:在linux开发过程中经常需要用到第三方的程序,有时需要用到它们的库,有时需要它们生成的可执行文件,如何正确地编译这些第三方的程序,以方便地使用和开发自己需要的程序,将是本文要论述的内容.

    1.移植第三方程序有几种情况

    1.1 如果源码包有Makefile文件,直接改Makefile,修改CC, AS, LD, CFLAGS,INSTALL_PATH等。

    1.2 源码包没有Makefile文件,但有configure/config文件:

    1.2.1设置 CC, LD ,AS, LDFLAGS ,AR,RANLIB等环境变量,如下面的lrzsz命令移植中的

    CC=/opt/buildroot-2011.11/arm920t/usr/bin/arm-linux-gcc AR=/opt/buildroot-2011.11/arm920t/usr/bin/arm-linux-ar LD=/opt/buildroot-2011.11/arm920t/usr/bin/arm-linux-ld AS=/opt/buildroot-2011.11/arm920t/usr/bin/arm-linux-as RANLIB=/opt/buildroot-2011.11/arm920t/usr/bin/arm-linux-ranlib ./configure --host=arm-linux

    指定交叉编译器路径,指定链接路径及AS,AR等。

    1.2.2 make

    1.2.3.make install

    1.3 没有configure/config,也没有Makefile,但是会有一个autogen.sh脚本

    1.3.1sh autogen.sh -->生成configure文件
    1.3.2 再按照二做。

    2.下面以移植lrzsz为例进行讲解:

    2.1从网上下载lrzsz压缩包(http://download.chinaunix.net/download.php?ResourceID=6293&id=12772)

    [weishusheng@localhost thirdparty]$ ls
    lrzsz-0.12.20.tar.gz

    2.2.解压

    [weishusheng@localhost thirdparty]$ tar -xzf lrzsz-0.12.20.tar.gz
    [weishusheng@localhost thirdparty]$ ls
    lrzsz-0.12.20 lrzsz-0.12.20.tar.gz

    2.3.进入lrzsz-0.12.20

    2.4.生成Makefile文件

    [weishusheng@localhost lrzsz-0.12.20]$ CC=/opt/buildroot-2011.11/arm920t/usr/bin/arm-linux-gcc AR=/opt/buildroot-2011.11/arm920t/usr/bin/arm-linux-ar LD=/opt/buildroot-2011.11/arm920t/usr/bin/arm-linux-ld AS=/opt/buildroot-2011.11/arm920t/usr/bin/arm-linux-as RANLIB=/opt/buildroot-2011.11/arm920t/usr/bin/arm-linux-ranlib ./configure --host=arm-linux

    2.5.

    2.6.[weishusheng@localhost lrzsz-0.12.20]$ make

    2.7.

    2.8.我们看到lsz与lrz是在arm上运行的

    2.9.把lsz,lrz下到开发板

    先放到、tftp目录下

    [weishusheng@localhost src]$ cp lsz lrz /tftp

    在开发板上下载

    >: tftp -gr lsz 192.168.1.3

    >: tftp -gr lrz 192.168.1.3

    修改权限

    >: chmod 777 lsz lrz

    2.10.测试

    移植第三方程序lszrz成功。

    3 tree程序移植到fl2440开发板

    3.1.第一步同样从网上下载压缩包

    3.2.解压

    [weishusheng@localhost tree]$ tar -xzf tree-1.5.1.tar.gz
    [weishusheng@localhost tree]$ ls
    tree-1.5.1 tree-1.5.1.tar.gz

    3.3.[weishusheng@localhost tree]$ cd tree-1.5.1

    3.4.修改相关设置

    [weishusheng@localhost tree-1.5.1]$ sudo vim Makefile

    把CC=gcc

    改为

    CC=/opt/buildroot-2011.11/arm920t/usr/bin/arm-linux-gcc

    3.5.编译

    [weishusheng@localhost tree-1.5.1]$ sudo make

    3.6.上传到tftp服务器

    [weishusheng@localhost tree-1.5.1]$ sudo cp tree /tftp

    3.7.下载到开发板

    3.8.测试

    tree命令移植到fl2440开发板成功。   

  • 相关阅读:
    Android客户端与服务器交互方式-小结
    个人工作总结01
    第7周学习进度
    第6周学习进度
    PHP_D4_“简易聊天室 ”的具体技术实现
    php_D3_“简易聊天室 ”实现的关键技术 详解
    团队介绍
    最大联通子数组
    构建之法阅读笔记04
    大道至简阅读笔记04
  • 原文地址:https://www.cnblogs.com/thinkinglife/p/3949977.html
Copyright © 2011-2022 走看看