libwebsockets 交叉编译

来源:互联网 发布:网络生活服务类平台 编辑:程序博客网 时间:2024/06/06 02:05



一、安装交叉编译环境



二、交叉编译openssl
    1、下载openssl1.0.1.tar.gz (不能低于此版本)
    2、交叉编译openssl
        $ 执行./config no-asm -shared --prefix=/usr/local/ssl-arm/   产生Makefile
        $ 修改Makefile  CC= arm-hisiv500-linux-gcc  去除编译和链接选项 -m64
        $ 执行make && make install 编译和安装openssl库
        
三、交叉编译zlib

     1、下载zlib-1.2.8.tar.gz
     2、交叉编译Zlib
         $ tar jvxf zlib-1.2.3.tar.bz2  
        $ cd zlib-1.2.3/  
        $ export CC=arm-linux-gnu-gcc   //它的configure不支持用CC变量来指定交叉工具链  
        $ ./configure --prefix=$PWD/_install  //最后生成的库、头文件和man文件都在当前目录的_install目录下  
        $ make && make install
        
四、交叉编译libwebsocket

     1、下载libwebsocket.tar
     2、交叉编译libwebsocket
         $    cd libwebsockets-master
        $    mkdir build
        $    cd build
        $    cmake -DCMAKE_INSTALL_PREFIX=/lu/libwebsocket_arm .. \
            -DCMAKE_SYSTEM_NAME=Linux  -DCMAKE_C_COMPILER=arm-hisiv500-linux-gcc  \
            -DCMAKE_CXX_COMPILER=arm-hisiv500-linux-g++  \
            -DZLIB_INCLUDE_DIR=/lu/zlib-1.2.8/_install/include \
            -DZLIB_LIBRARY="/lu/zlib-1.2.8/_install/lib/libz.so"  \
            -DLWS_OPENSSL_INCLUDE_DIRS=/usr/local/ssl-arm/include/ \
            -DLWS_OPENSSL_LIBRARIES="/usr/local/ssl-arm/lib/libssl.so;/usr/local/ssl-arm/lib/libcrypto.so"
 
   cmake 参数说明:
            -DCMAKE_INSTALL_PREFIX                指定编译库安装路径
            -DCMAKE_SYSTEM_NAME                  指定系统为Linux
            -DCMAKE_C_COMPILER                   指定C语言编译器如交叉编译器未加入到环境变量,需要使用绝对路径
            -DCMAKE_CXX_COMPILER                 指定c++编译器
            -DZLIB_INCLUDE_DIR                 指定ZLIB头文件目录
            -DZLIB_LIBRARY                                指定ZLIB动态库路径
            -DLWS_OPENSSL_INCLUDE_DIRS        指定Openssl头文件目录
            -DLWS_OPENSSL_LIBRARIES            指定Openssl动态库路径
原创粉丝点击