La statement implícita de la function 'pthread_mutex_init' no es válida en C99

Estoy intentando bloquear un método con un mutec de este artículo aquí declara crear una variable miembro de la class como tal

pthread_mutex_t mutex; 

Luego inicialízalo como tal

  pthread_mutex_init(&mutex, NULL); 

Entonces úselo como tal

 void MyLockingFunction() { pthread_mutex_lock(&mutex); // Do work. pthread_mutex_unlock(&mutex); } 

Recibo la siguiente advertencia en el paso 2 cuando la inicializo.

 Implicit declaration of function 'pthread_mutex_init' is invalid in C99 

Qué significa eso ? ¿Debo ignorarlo?

Significa que no ha incluido el file de encabezado que declara la function, por lo que el comstackdor no sabe nada al respecto en el momento en que lo utiliza. Está intentando declararlo implícitamente al usarlo, lo que no es válido.

Si marca la página man para pthread_mutex_init() , le indica que debe usar la siguiente línea para importar la statement:

 #include <pthread.h> 

Si coloca eso cerca de la parte superior de su file fuente, la advertencia desaparecerá.