2015-01-16 1 views
1

이 코드를 사용하여 이전 g ++ 컴파일러를 처리합니다. 나는 this 대답에서 이것을 얻었다.오류 : 'get_nprocs'이 (가)이 범위에서 선언되지 않았습니다.

Hardware_con.h:31:25: error: ‘get_nprocs’ was not declared in this scope 
     return get_nprocs(); 
         ^

그래서 질문은 내가 포함해야한다 헤더 파일 : 여기

unsigned thread::hardware_concurrency() 
{ 
#if defined(PTW32_VERSION) || defined(__hpux) 
    return pthread_num_processors_np(); 
#elif defined(__APPLE__) || defined(__FreeBSD__) 
    int count; 
    size_t size=sizeof(count); 
    return sysctlbyname("hw.ncpu",&count,&size,NULL,0)?0:count; 
#elif defined(BOOST_HAS_UNISTD_H) && defined(_SC_NPROCESSORS_ONLN) 
    int const count=sysconf(_SC_NPROCESSORS_ONLN); 
    return (count>0)?count:0; 
#elif defined(_GNU_SOURCE) 
    return get_nprocs(); 
#else 
    return 0; 
#endif 
} 

오류인가?

+1

하면 해당 헤더를 포함나요 해당 헤더 파일을 포함해야합니까? – Mat

+0

아니 @ 매트, 그게 내가 찾으려고하는거야, 해당 헤더,하지만 난 못해. – gsamaras

+0

sys/sysinfo.h가 그 중 하나 일 수 있습니다! – gsamaras

답변

2

우리는

#include <sys/sysinfo.h>