2015-01-29 1 views
0

에 존재하지 않는 이 특정 메소드는 Cygwin으로 이식되지 않았다. 아무도 내가 뭔가 잘못하고 있는지 또는 내가 Cygwin에서 이것이 실제로 없다고 판단 할 수 있는지 알 수 있습니까?notify_all_at_thread_exit Cygwin에서 GCC

빌드 라인 :

/usr/bin/c++.exe -std=gnu++11 -o NotifyAllAtThreadExitTest.cc.o -c NotifyAllAtThreadExitTest.cc 

코드 : 4.9 릴리스 시리즈

#include <mutex> 
#include <thread> 
#include <condition_variable> 

std::mutex m; 
std::condition_variable cv; 

bool ready = false; 

void thread_func() 
{ 
    std::unique_lock<std::mutex> lk(m); 
    ready = true; 
    std::notify_all_at_thread_exit(cv, std::move(lk)); 
} 

int test() 
{ 
    std::thread t(thread_func); 
    t.detach(); 

    std::unique_lock<std::mutex> lk(m); 
    while(!ready) { 
     cv.wait(lk); 
    } 
} 
+0

[Coliru에서 같은 오류가 발생했습니다] (http://coliru.stacked-crooked.com/a/69bf33d2e62e15d3), 저는 리눅스 환경이라고 생각합니다. 문제는 Cygwin과 관련이 없지만 libstdC++ 자체에서는 4.9.2에서'notify_all_at_thread_exit'가 누락되었습니다. – Casey

답변