zoukankan      html  css  js  c++  java
  • Ubuntu16.04 ARM平台移植libcurl curl-7.63.0

    libcurl是免费的轻量级的客户端网络库,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS,POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet, TFTP.支持SSL, HTTPPOST,HTTPPUT, FTP上传, HTTP form上传,代理,cookies, 用户名与密码认证。

    系统环境:Ubuntu 16.04
    源码:curl-7.63.0.tar.gz , 下载地址 https://curl.haxx.se/libcurl/
    交叉编译环境:arm-none-linux-gnueabihf
     
    libcurl原代码内包含了CMakeLists.txt和configure,两种方式都可以进行交叉编译

    1. toolchain.cmake

    #toolchain cmake file 
    #cmake -DCMAKE_TOOLCHAIN_FILE=~/toolchain.cmake ../
    SET(CMAKE_SYSTEM_NAME Linux)
    SET(TOOLCHAIN_DIR "complier_dir")
    SET(3RDPART_LIBS_DIR "thirdpart_dir")
    
    #specify the cross compiler
    SET(CMAKE_C_COMPILER ${TOOLCHAIN_DIR}/bin/arm-linux-gnueabihf-gcc CACHE FILEPATH "Archiver")
    SET(CMAKE_CXX_COMPILER ${TOOLCHAIN_DIR}/bin/arm-linux-gnueabihf-g++ CACHE FILEPATH "Archiver")
    
    #SET(CMAKE_GFORTRAN  ${TOOLCHAIN_DIR}/bin/arm-linux-gnueabihf-gfortran)
    SET(CMAKE_AR ${TOOLCHAIN_DIR}/bin/arm-linux-gnueabihf-ar CACHE FILEPATH "Archiver")
    SET(CMAKE_AS ${TOOLCHAIN_DIR}/bin/arm-linux-gnueabihf-as CACHE FILEPATH "Archiver")
    SET(CMAKE_LD  ${TOOLCHAIN_DIR}/bin/arm-linux-gnueabihf-ld CACHE FILEPATH "Archiver")
    SET(CMAKE_NM ${TOOLCHAIN_DIR}/bin/arm-linux-gnueabihf-nm CACHE FILEPATH "Archiver")
    SET(CMAKE_STRIP  ${TOOLCHAIN_DIR}/bin/arm-linux-gnueabihf-strip CACHE FILEPATH "Archiver")
    
    # where is the target environment 
    SET(CMAKE_FIND_ROOT_PATH  ${TOOLCHAIN_DIR} ${3RDPART_LIBS_DIR})
    
    # search for programs in the build host directories
    SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
    
    # for libraries and headers in the target directories
    SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
    SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
    

    交叉编译指令

    cmake -DCMAKE_TOOLCHAIN_FILE=toochain._dir ../

    2. configure

    ./configure --prefix=install_dir --host=arm-linux/arm-linux-gnueabihf/others CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++
    

      

  • 相关阅读:
    NYOJ 10 skiing DFS+DP
    51nod 1270 数组的最大代价
    HDU 4635 Strongly connected
    HDU 4612 Warm up
    POJ 3177 Redundant Paths
    HDU 1629 迷宫城堡
    uva 796
    uva 315
    POJ 3180 The Cow Prom
    POJ 1236 Network of Schools
  • 原文地址:https://www.cnblogs.com/flyinggod/p/10148228.html
Copyright © 2011-2022 走看看