0

libwebsocketsを使用していますが、自分で実装したデモ コードをコンパイルできません。

私は作成しましたcontext

struct libwebsocket_context *context;
...
context = libwebsocket_create_context(&info);

libwebsocket_contextprivate-libwebsockets.h で定義されている struct のメンバーにアクセスしようとすると、次のようになります。

struct libwebsocket_context {
    struct pollfd *fds;
    struct libwebsocket **lws_lookup; /* fd to wsi */
    int fds_count;
    int max_fds;
    int listen_port;
    ...
};

例えば、

printf("%d\n", context->listen_port);

コンパイラは、

error: dereferencing pointer to incomplete type

ありがとう!

4

2 に答える 2

1

"struct libwebsocket_context" は gcc では認識されていないようです - それがこのエラーが発生する理由です。この構造体の定義が .h ファイルからインクルードされていますか? たとえば、この構造体 (.h ファイル内) の定義の近くにメッセージを含む #warning または #error を挿入し、プログラムを再コンパイルすることをお勧めします。コンパイル中に #error または #warning メッセージが表示されるはずです。そうでない場合は、gcc もこの構造体を認識しないことを意味します。

于 2014-02-03T12:41:32.050 に答える