2016-03-31 4 views
-2

Ich möchte getpid Funktion aus Headern sys/types.h, unistd.h (C-Stil) verwenden, wenn ich -std = c + verwende +11 flagge aber danach habe ich:getpid auf Linux bei der Verwendung von -std = C++ 11 als Compiler-Flag

"funktion getpid konnte nicht gelöst werden".

Gibt es eine Art Workaround oder eine gleichwertige Funktion?

@Edit:

prüfe ich es noch einmal, und es ist nicht Flagge bemängeln

head.h

#ifndef HEAD_H_ 
#define HEAD_H_ 

#include <sys/types.h> 
#include <unistd.h> 

void test(); 

#endif /* HEAD_H_ */ 

head.cpp

#include "head.h" 

void test() 
{ 
    pid_t pid = getpid(); // Function 'getpid' could not be resolved 
} 

und das ist komisch, weil ich auch einen Test auf "sauber" Projekt mache und es gab überhaupt kein Problem.

main.cpp

#include <sys/types.h> 
#include <unistd.h> 

int main() 
{ 
     pid_t pid = getpid(); 

     return 0; 
} 

Es sieht aus wie ich nicht in der Lage bin jede Funktion von unistd zu bekommen, weil

char* a_cwd = getcwd(NULL,0); 

auch ungelöst ist

+4

Beitrag entsprechenden Code. Senden Sie die _complete_ Fehlermeldung (die der Compiler gibt). – ForceBru

+3

getpid ist in C++ 11 vollständig gültig. Also brauchen wir mehr Informationen. – Joe

+0

Weitere Details hinzugefügt – user3626411

Antwort

Verwandte Themen