一、Windows平台
1. 进入网址https://github.com/warmcat/libwebsockets/tree/v2.3-stable,下载libwebsockets压缩包。
2. 下载Cmake安装并配置环境。
3. 解压libwebsockets-2.3-stable.zip压缩包到某一个目录下。
4. cmd进入到libwebsockets-2.3-stable目录下,执行以下命令生成VS工程。
cmake -DLWS_WITH_SSL=0 -DLWS_WITH_ZIP_FOPS=0 ./ -G "Visual Studio 12 2013"
5. 打开libwebsockets-2.3-stable目录下的VS工程进行编译,生成的动态库在libwebsockets-2.3-stable\libwebsockets-2.3-stable\bin\Debug目录下,静态库在libwebsockets-2.3-stable\lib\Debug目录下
二、IOS平台
1. 进入网址https://github.com/warmcat/libwebsockets/tree/v2.3-stable,下载libwebsockets压缩包。
2. 解压libwebsockets-2.3-stable.zip压缩包到某一个目录下。
3. cd进入到libwebsockets-2.3-stable目录下,修改CMakeLists.txt,添加下边两行。
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DAPPLE -fobjc-abi-version=2 -fobjc-arc -std=gnu++11 -stdlib=libc++ -isysroot ${CMAKE_OSX_SYSROOT}")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DAPPLE -fobjc-abi-version=2 -fobjc-arc -isysroot ${CMAKE_OSX_SYSROOT}")
4. 在libwebsockets-2.3-stable目录下新建build文件夹,在build文件夹下新建ShellScript脚本。
#!/bin/bash
rm -rf CMakeCache.txt
rm -r CMakeFiles
rm -rf cmake_install.cmake
rm -rf Makefile
rm -rf CTestTestfile.cmake
if [ “$@“ =~ "-d" ];then
echo "----------------------------cmake debug----------------------------"
cmake -DDEBUG=ON -DCMAKE_TOOLCHAIN_FILE=./toolchain/IOS.cmake -DIOS_PLATFORM=OS -DBUILD_ARM64=1 \
-DLWS_WITH_SSL=OFF \
-DLWS_WITHOUT_SERVER=ON \
-DLWS_WITHOUT_TESTAPPS=ON \
..
else
echo "----------------------------cmake release----------------------------"
cmake -DDEBUG=NO -DCMAKE_TOOLCHAIN_FILE=./toolchain/IOS.cmake -DIOS_PLATFORM=OS -DBUILD_ARM64=1 \
-DLWS_WITH_SSL=OFF \
-DLWS_WITHOUT_SERVER=ON \
-DLWS_WITHOUT_TESTAPPS=ON \
..
fi
make
rm -rf CMakeCache.txt
rm -r CMakeFiles
rm -rf cmake_install.cmake
rm -rf Makefile
rm -rf CTestTestfile.cmake
install_name_tool -id @rpath/libwebsockets.dylib ./lib/libwebsockets.dylib
5. 在build文件夹下新建toolchain文件夹,将ios.cmake放在toolchain文件夹中。
6. 执行ShellScript脚本在当前目录下lib里生成库。
三、Android平台
1. 进入网址https://github.com/warmcat/libwebsockets/tree/v2.3-stable,下载libwebsockets压缩包。
2. 解压libwebsockets-2.3-stable.zip压缩包到某一个目录下,建一个openssl文件夹,将头文件和库拷进去。
3. 在libwebsockets-2.3-stable目录下新建build文件夹,在build文件夹下新建ShellScript脚本。
#!/bin/bash
rm -rf CMakeCache.txt
rm -rf CMakeFiles
rm -rf cmake_install.cmake
rm -rf Makefile
rm -rf CTestTestfile.cmake
if [[ “$@“ =~ "-d" ]];then
echo "----------------------------cmake debug----------------------------"
cmake -DDEBUG=ON -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake \
-DANDROID_NDK=$ANDROID_NDK_HOME \
-DANDROID_ABI=armeabi-v7a \
-DANDROID_TOOLCHAIN=clang \
-DANDROID_PLATFORM=android-21 \
-DANDROID_STL=c++_shared \
-DLWS_WITHOUT_DAEMONIZE=ON \
-DLWS_WITHOUT_TESTAPPS=ON \
-DLWS_IPV6=OFF \
-DLWS_WITH_BUNDLED_ZLIB=OFF \
-DLWS_WITH_SSL=ON \
-DLWS_WITH_HTTP2=ON \
-DLWS_OPENSSL_INCLUDE_DIRS=../openssl/include \
-DLWS_OPENSSL_LIBRARIES="../openssl/lib/libssl.a;../openssl/lib/libcrypto.a" \
.
else
echo "----------------------------cmake release----------------------------"
cmake -DDEBUG=NO -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake \
-DANDROID_NDK=$ANDROID_NDK_HOME \
-DANDROID_ABI=armeabi-v7a \
-DANDROID_TOOLCHAIN=clang \
-DANDROID_PLATFORM=android-21 \
-DANDROID_STL=c++_shared \
-DLWS_WITHOUT_DAEMONIZE=ON \
-DLWS_WITHOUT_TESTAPPS=ON \
-DLWS_IPV6=OFF \
-DLWS_WITH_BUNDLED_ZLIB=OFF \
-DLWS_WITH_SSL=ON \
-DLWS_WITH_HTTP2=ON \
-DLWS_OPENSSL_INCLUDE_DIRS=../openssl/include \
-DLWS_OPENSSL_LIBRARIES="../openssl/lib/libssl.a;../openssl/lib/libcrypto.a" \
..
fi
make
rm -rf CMakeCache.txt
rm -rf CMakeFiles
rm -rf cmake_install.cmake
rm -rf Makefile
rm -rf CTestTestfile.cmake
4. 执行ShellScript脚本在当前目录下lib里生成库。