本文记录了自己在Qt for android环境下socket.io环境配置的过程,至于Qt for android的环境搭建,网上可以找到很多相关文章,这里我也记录一个自己使用的博文:https://blog.csdn.net/sxy445566/article/details/55505674
下面开始Socket.io的搭建:
1.下载QtSocketIo代码:https://download.csdn.net/download/lchlgd/10279644,感谢这位朋友的无私奉献。
2.下载Socket.io依赖库:
boost:https://blog.csdn.net/lj402159806/article/details/76769836,文章里给出了boost的官网下载地址,按照文章内容编译后,就得到了boost的库文件。
websocket++:https://github.com/zaphoyd/websocketpp,我们第一步下载的代码中已经包含了此项,所以可以不单独下载。
3.打开第一步下载的代码中的QtSocketIo-client工程,在pro文件中增加boost库:
LIBS +=/usr/android/boost/boost_1_67_0/android_build/lib/libboost_system.a \
/usr/android/boost/boost_1_67_0/android_build/lib/libboost_date_time.a \
/usr/android/boost/boost_1_67_0/android_build/lib/libboost_atomic.a \
/usr/android/boost/boost_1_67_0/android_build/lib/libboost_random.a \
注意:将路径修改为自己的环境路径,同时将pro文件中的INCLUDEPATH路径也修该为自己的环境路径。
编译QtSocketIo-client工程,我这里遇到的问题:
a. error: 'epoll_create1' was not declared in this scope,解决办法就是将'epoll_create1' 修改为'epoll_create' 即可。
b. SocketIOClient.cpp中使用了WIN32宏定义,我的是ubuntu所以将其屏蔽:(绿色部分为屏蔽内容)
//#ifdef WIN32
#define BIND_EVENT(IO,EV,FN) \
do{ \
socket::event_listener_aux l = FN;\
IO->on(EV,l);\
} while(0)
//#else
//#endif
到这里,我们就可以通过Socket.io与服务器通信了^_^,内容也是东拼西凑的完成的,作为备忘同时也希望可以帮到有同样需求的朋友。