Próbuję zrobić wersję systemu Windows napisany dla systemu Linux, w C++. Aby program był bezpieczny dla wątków, używam wersji pthread_cond_t
i pthread_cond_wait
w wersji dla systemu Linux. Te funkcje używają muteksa, aby upewnić się, że oczekujący wątek rzeczywiście czeka.CONDITION_VARIABLE w oknach; wont kompilować
Znalazłem, że CONDITION_VARIABLE
może zrobić lewy w Windows, jednak nie mogę zrozumieć, dlaczego nie skompiluje. Pojawia się błąd "error:" CONDITION_VARIABLE "nie określa typu" mimo, że wszystkie odpowiednie nagłówki są włączone, o ile mogę powiedzieć. Próbowałem skopiować-wklejając kod na http://msdn.microsoft.com/en-us/library/ms686903%28v=VS.85%29.aspx, który nie będzie się kompilował. Używam GCC.
Wszelkie pomysły na kompilację tego? lub jakiekolwiek alternatywne podejścia, które nie obejmują zmiennych warunkowych?
Jakiego kompilatora używasz i ile lat ma zestaw Windows SDK? [Notice] (http://msdn.microsoft.com/en-us/library/ms683469 (v = VS.85) .aspx), który wymaga co najmniej Vista SDK. – wilx
może Windows.h używany przez gcc/cygwin (?) Jest zbyt stary? Przypuszczam, że lepiej byłoby użyć Visual Studio Express dla Windows, lub ukraść windows.h i inne nagłówki systemowe z jego instalacji lub zaktualizować nagłówki i biblioteki Windows w inny sposób. – user396672