liboping ошибка operation not permitted

написал такую функцию, использовал liboping linux, выдает ошибку, может кто знает как фиксить

        QString msg;

        pingobj_t *pingobj = ping_construct();

        if (pingobj == nullptr)
          {
            msg = "Error: ";
            msg += ping_get_error(pingobj);
          }
          ui->textEdit->setText(msg);

        int timeout = 3;
        for (;;)
          {
            double timeout_sec = ((double)timeout)/(double)(1000.0);

            if (ping_setopt(pingobj, PING_OPT_TIMEOUT, &timeout_sec))
              break;

            if (ping_host_add(pingobj, ui->lineEdit->text().toStdString().c_str()))
              break;

            if (ping_send(pingobj) <= 0)
              break;

            res = true;

            break;
          }


        if(res)
          ui->textEdit->setText("Yes");
        else
          {
            msg = "Error: ";
            msg += ping_get_error(pingobj);
            ui->textEdit->setText(msg);
          }

        ping_destroy(pingobj);

Ответы (1 шт):

Автор решения: eri

Чтоб работал пинг - ему надо дать разрешения для прямого доступа к сетевому стеку.

sudo setcap cap_net_raw+ep myping

После компиляции выполни эту команду для запускаемого файла и пинг заработает.

В SDK можно добавить шаг сборки

введите сюда описание изображения

→ Ссылка