模擬器 - QEMU - 解決error: slirp_pollfds_fill is deprecated問題



問題如下:

../net/slirp.c: In function ‘net_slirp_poll_notify’:
../net/slirp.c:365:9: error: ‘slirp_pollfds_fill’ is deprecated [-Werror=deprecated-declarations]
         slirp_pollfds_fill(s->slirp, &poll->timeout,
         ^~~~~~~~~~~~~~~~~~
In file included from ../net/slirp.c:41:
/usr/include/slirp/libslirp.h:273:6: note: declared here
 void slirp_pollfds_fill(Slirp *slirp, uint32_t *timeout,
      ^~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
ninja: build stopped: subcommand failed.

解法如下:

$ vim net/slirp.c +365
    363     switch (poll->state) {
    364     case MAIN_LOOP_POLL_FILL:
    365         slirp_pollfds_fill_socket(s->slirp, &poll->timeout,
    366                            net_slirp_add_poll, poll->pollfds);