3.9版本更新websockets库编译错误。
看样子新版本头文件去掉了一些枚举和结构体。
把错误贴在下面,请问出了替换库文件还需要对network中的哪些文件进行修改。
/Users/wangshibo/develop/WG/WarClient/frameworks/cocos2d-x/cocos/network/WebSocket.cpp:104:38: ISO C++ forbids forward references to ‘enum’ types
/Users/wangshibo/develop/WG/WarClient/frameworks/cocos2d-x/cocos/network/WebSocket.cpp:104:68: Variable has incomplete type ‘enum libwebsocket_callback_reasons’
/Users/wangshibo/develop/WG/WarClient/frameworks/cocos2d-x/cocos/network/WebSocket.cpp:108:45: Use of undeclared identifier ‘libwebsocket_context_user’
/Users/wangshibo/develop/WG/WarClient/frameworks/cocos2d-x/cocos/network/WebSocket.cpp:251:33: Subscript of pointer to incomplete type ‘struct libwebsocket_protocols’
/Users/wangshibo/develop/WG/WarClient/frameworks/cocos2d-x/cocos/network/WebSocket.cpp:253:42: Subscript of pointer to incomplete type ‘struct libwebsocket_protocols’
/Users/wangshibo/develop/WG/WarClient/frameworks/cocos2d-x/cocos/network/WebSocket.cpp:253:42: Subscript of pointer to incomplete type ‘struct libwebsocket_protocols’
/Users/wangshibo/develop/WG/WarClient/frameworks/cocos2d-x/cocos/network/WebSocket.cpp:253:42: Subscript of pointer to incomplete type ‘struct libwebsocket_protocols’
/Users/wangshibo/develop/WG/WarClient/frameworks/cocos2d-x/cocos/network/WebSocket.cpp:255 Deleting pointer to incomplete type ‘struct libwebsocket_protocols’ may cause undefined behavior
/Users/wangshibo/develop/WG/WarClient/frameworks/cocos2d-x/cocos/network/WebSocket.cpp:312:21: Allocation of incomplete type ‘libwebsocket_protocols’
/Users/wangshibo/develop/WG/WarClient/frameworks/cocos2d-x/cocos/network/WebSocket.cpp:313:26: Invalid application of ‘sizeof’ to an incomplete type ‘libwebsocket_protocols’
/Users/wangshibo/develop/WG/WarClient/frameworks/cocos2d-x/cocos/network/WebSocket.cpp:322:25: Subscript of pointer to incomplete type ‘struct libwebsocket_protocols’
/Users/wangshibo/develop/WG/WarClient/frameworks/cocos2d-x/cocos/network/WebSocket.cpp:323:25: Subscript of pointer to incomplete type ‘struct libwebsocket_protocols’
/Users/wangshibo/develop/WG/WarClient/frameworks/cocos2d-x/cocos/network/WebSocket.cpp:330:21: Subscript of pointer to incomplete type ‘struct libwebsocket_protocols’
/Users/wangshibo/develop/WG/WarClient/frameworks/cocos2d-x/cocos/network/WebSocket.cpp:331:21: Subscript of pointer to incomplete type ‘struct libwebsocket_protocols’
/Users/wangshibo/develop/WG/WarClient/frameworks/cocos2d-x/cocos/network/WebSocket.cpp:403 Use of undeclared identifier ‘libwebsocket_context_destroy’; did you mean ‘lws_context_destroy’?
/Users/wangshibo/develop/WG/WarClient/frameworks/cocos2d-x/cocos/network/WebSocket.cpp:403:38: Cannot initialize a parameter of type ‘struct lws_context *’ with an lvalue of type ‘struct libwebsocket_context *’
/Users/wangshibo/develop/WG/WarClient/frameworks/cocos2d-x/cocos/network/WebSocket.cpp:410 Use of undeclared identifier ‘libwebsocket_service’
/Users/wangshibo/develop/WG/WarClient/frameworks/cocos2d-x/cocos/network/WebSocket.cpp:434:17: Assigning to ‘const struct lws_protocols *’ from incompatible type ‘struct libwebsocket_protocols *’
/Users/wangshibo/develop/WG/WarClient/frameworks/cocos2d-x/cocos/network/WebSocket.cpp:436:20: Use of undeclared identifier ‘libwebsocket_get_internal_extensions’
/Users/wangshibo/develop/WG/WarClient/frameworks/cocos2d-x/cocos/network/WebSocket.cpp:442:15: Use of undeclared identifier ‘libwebsocket_create_context’; did you mean ‘lws_create_context’?
Too many errors emitted, stopping now
—更新—
看样子是命名改变了
一些libwebsocket_* 都变成了lws_* 。
哎。
—更新2—
另外还有一些函数传递的参数变了,改一下就好了。
以前的ctx现在由lws_context* ctx = lws_get_context(wsi);取得,貌似不用传递了。
现在编译可以通过了,要是有什么问题再来更新。
—更新3—
WebSocket::onSocketCallback中的几个assert卡住了,去掉应该就可以了。