我使用的是libwebsockets,但我不能编译自己实现的演示代码。
我创建了context
struct libwebsocket_context *context;
...
context = libwebsocket_create_context(&info);当我尝试访问在libwebsocket_context -libwebsockets.h中定义的结构成员时:
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谢谢!
发布于 2014-02-03 20:41:32
似乎“结构libwebsocket_context”对于gcc来说是未知的--这就是为什么会发生这个错误。您确定此结构的定义包含在.h文件中吗?我建议你在这个结构的定义附近插入一些消息,比如#warning或#error (在.h文件中),然后尝试重新编译你的程序。编译时应出现#error或#warning消息。如果没有-这意味着gcc也不会看到这个结构。
发布于 2014-02-03 22:34:02
结构定义位于private-libwebsockets.h中,这一事实表明您不应该直接使用结构成员。你可以通过#include这个头来访问这个库的私有实现细节,但是你可能不应该这么做。
https://stackoverflow.com/questions/21527529
复制相似问题