【发布时间】:2019-01-31 21:14:32
【问题描述】:
我想在外部 libuv 循环中使用 libwebsockets。 我的代码(灵感来自this simple example)可以正确编译和链接,但在执行网页请求时,浏览器永远不会收到来自服务器的响应。
我从我的 cmake 中的源代码构建了 libwebsockets (v3.1.0) 和 libuv (v1.25.0)。我使用以下命令行:
cmake -DLWS_WITH_LIBUV=1 .. && make
并且 cmake 输出提到了选项的正确值:
LWS_WITH_LIBEV = OFF
LWS_WITH_LIBUV = 1
LWS_WITH_LIBEVENT = OFF
在构建目录中搜索该选项会得到以下结果(看起来也不错):
CMakeCache.txt:483:LWS_WITH_LIBUV:BOOL=ON
extern/libwebsockets/include/libwebsockets/lws-service.h:185:#ifdef LWS_WITH_LIBUV
extern/libwebsockets/include/libwebsockets/lws-service.h:209:#endif /* LWS_WITH_LIBUV */
extern/libwebsockets/include/libwebsockets.h:157:#ifdef LWS_WITH_LIBUV
extern/libwebsockets/include/libwebsockets.h:165:#endif /* LWS_WITH_LIBUV */
extern/libwebsockets/include/lws_config.h:72:#define LWS_WITH_LIBUV
extern/libwebsockets/lws_config.h:72:#define LWS_WITH_LIBUV
但是,使用以下代码(与最小(非)工作示例最接近的代码)不会显示任何消息。
#include <uv.h>
int main()
{
#ifdef LWS_WITH_LIBUV
std::cout<<"With libuv"<<std::endl;
#endif
}
【问题讨论】:
标签: cmake libuv libwebsockets