Сборка APT на macOS (я уже сделал большую часть порта), но получаю сообщение об ошибке "использование необъявленного идентификатора 'GetSrvRecords'" - PullRequest
1 голос
/ 22 мая 2019

Я собираю APT для macOS, я уже сделал большинство патчей и добавил несколько заголовков совместимости, которые я перенес из Linux на macOS, но я столкнулся с проблемой на 15% процесса make, который сказал мне:

  use of undeclared identifier 'GetSrvRecords'

Я попытался прокомментировать эти строки, но в итоге это приводит к ошибке, которая хуже

static bool DoSrvLookup(CommandLine &CmdL)              /*{{{*/
{
   if (CmdL.FileSize() <= 1)
      return _error->Error("Must specify at least one SRV record");

   for(size_t i = 1; CmdL.FileList[i] != NULL; ++i)
   {
      std::vector<SrvRec> srv_records;
      std::string const name = CmdL.FileList[i];
      c0out << "# Target\tPriority\tWeight\tPort # for " << name << std::endl;
      size_t const found = name.find(":");
      if (found != std::string::npos)
      {
     std::string const host = name.substr(0, found);
     size_t const port = atoi(name.c_str() + found + 1);
     if(GetSrvRecords(host, port, srv_records) == false)
        _error->Error(_("GetSrvRec failed for %s"), name.c_str());
      }
      else if(GetSrvRecords(name, srv_records) == false)
     _error->Error(_("GetSrvRec failed for %s"), name.c_str());

      for (SrvRec const &I : srv_records)
     ioprintf(c1out, "%s\t%d\t%d\t%d\n", I.target.c_str(), I.priority, I.weight, I.port);
   }
   return true;
}

Это должно произойти, вообще не показывая этой проблемы.

1 Ответ

0 голосов
/ 22 мая 2019

Вы либо:

  1. Не импортируете файл заголовка, который включает класс GetSrvRecords.
  2. Не определяете где-то класс GetSrvRecords и затем не импортируете его.
  3. Неправильный импорт.
  4. Вы никогда не определяли GetSrvRecords ()
...