背景
近期需要使用socket.io C++ 开发一款PC端应用。服务器使用的socket.io 2版本开发的,准备升级版本。我准备使用qt进行开发。查阅相关资料后,找到这个库https://github.com/socketio/socket.io-client-cpp.git,根据介绍,选择了2.x分支
问题(使用过程出现大量问题)
根据所提供的install.md,我先选用with-cmake的方式,但是编译出来的总是报错。经过长时间的尝试,最终我选择了without-cmake的方式,最终可用
使用提示
由于没有记录过程遇到的错误,我就展现我的配置,算是一些提示吧
CONFIG += c++11
//加上这个,可以避免一堆报错,我猜测加上这些,就是为了避免配置boost
DEFINES += BOOST_DATE_TIME_NO_LIB BOOST_REGEX_NO_LIB ASIO_STANDALONE _WEBSOCKETPP_CPP11_STL_ _WEBSOCKETPP_CPP11_FUNCTIONAL_
//加上这个,可以使用 Https ,但需要配置 openssl
//在我的另一篇文章中有介绍 https://blog.csdn.net/admin280/article/details/120363400
DEFINES += SIO_TLS
//需要配置这些库路径
INCLUDEPATH += $$PWD/socket.io-client-cpp/src \
$$PWD/socket.io-client-cpp/lib/asio/asio/include \
$$PWD/socket.io-client-cpp/lib/websocketpp \
$$PWD/socket.io-client-cpp/lib/rapidjson/include
//这个可以避免 multiple definition of `_Exit' 等错误
LIBS += -lpthread libwsock32 libws2_32
//最后需要添加以下cpp到项目
socket.io-client-cpp/src/internal/sio_client_impl.cpp \
socket.io-client-cpp/src/internal/sio_packet.cpp \
socket.io-client-cpp/src/sio_client.cpp \
socket.io-client-cpp/src/sio_socket.cpp
结语
该文章仅供参考