libwebsockets 交叉编译
2017-12-05 10:56
3747 查看
一、安装交叉编译环境
二、交叉编译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动态库路径
二、交叉编译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动态库路径
相关文章推荐
- websocket之二:libwebsockets编译
- MinGW 编译libwebsockets
- VC2010编译libwebsockets
- MinGW 编译libwebsockets
- libwebsockets 编译运行测试
- libwebsocket 交叉编译及应用注意细节
- 在windows (VS-2015) 中编译libwebsockets
- vs2010 编译mosquitto win32版本,开启websockets,实现消息推送
- 编译android5.0.2源码到libwebviewchromium.so时停止很长时间发生错误
- maven依赖本地非repository中的jar包-依赖jar包放在WEB-INF/lib等目录下的情况客户端编译出错的处理
- libwebsockets之简单服务器代码
- 交叉编译总结 libosscore.a libcurl.a libmysqlclient.a
- 解决NDK交叉编译 selected processor does not support ARM mode libtheora的错误
- maven依赖本地非repository中的jar包-依赖jar包放在WEB-INF/lib等目录下的情况客户端编译出错的处理
- jrtplib3.9.1交叉编译
- libwebsockets接口解析
- mipse-linux-uclibc交叉编译libgpg-error和ibgcrypt
- maven依赖本地非repository中的jar包-依赖jar包放在WEB-INF/lib等目录下的情况客户端编译出错的处理 maven找不到符号
- libwebsockets(一)简介
- maven依赖本地非repository中的jar包-依赖jar包放在WEB-INF/lib等目录下的情况客户端编译出错的处理