使用 libwebsockets 启用 libuv 编译时遇到问题
Trouble enabling libuv compilation with libwebsockets
我想在外部 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
Grepping 构建目录中的选项给出以下内容(看起来也不错):
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
}
我已经看了here and ,但我不知道下一步该怎么做。
原来我的系统上安装了 libwebsockets 并链接到这个系统库,没有编译时支持 libuv。
我想在外部 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
Grepping 构建目录中的选项给出以下内容(看起来也不错):
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
}
我已经看了here and
原来我的系统上安装了 libwebsockets 并链接到这个系统库,没有编译时支持 libuv。