Наилучшее предположение со всеми допущениями: pid_t не определено.Вам нужны оба
#include <sys/types.h>
#include <unistd.h>
В противном случае вы не получите того, что, как вы думаете, вы получаете.
Было бы более полезно предоставить самый маленький исходный файл, который потерпел неудачу таким же образом,Например, следующее (минимальная проработка вашего текста) не генерирует предупреждение, которое вы описываете для меня в первой системе, которую я попробовал.
#include <unistd.h>
#include <stdio.h>
int main() {
pid_t pid, pgid;
if((pgid = getpgid(pid)) < 0) {
puts("Oops.");
}
return 0;
}
Важное значение имеет уменьшение причины до минимального сбоя:
1. Гарантирует, что вы адекватно изолировали проблему.Часто этот шаг делает причину очевидной.Это также помогает устранить ложные следы.
2. Гарантирует, что другие могут воссоздать вашу трудность и, таким образом, диагностировать ее.
Часто подготовка к объяснению проблемы кому-то, кто не знаком с вашим проектом, вызываетисточник проблемы выпрыгнуть.