代码之家  ›  专栏  ›  技术社区  ›  Silverspur

使用libwebsockets启用libuv编译时出现问题

  •  0
  • Silverspur  · 技术社区  · 7 年前

    我想在外部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
    }
    

    我已经看过了 here here

    1 回复  |  直到 7 年前
        1
  •  0
  •   Silverspur    7 年前

    原来我的系统上安装了libwebsockets,并链接到这个系统库, 使用libuv支持编译。