1. ホーム
  2. c

[解決済み] Unixのpthread.hをWindowsでコンパイルすることはできますか?

2022-02-15 23:19:21

質問

というプログラムをコンパイルしようとすると

#include <pthread.h>

を入れると、エラーが発生します。

pthread.h: No such file or directory

これをWindows環境でコンパイルさせることは可能でしょうか?

Vistaで最新のMinGWを使用しています。

これをUnix環境に移行する必要があるので、Microsoft Windows Services for UNIX Version 3.5を使いたくないのです。

解決方法は?

pthread.h は、Unix/Linux (POSIX) のスレッド用 API のヘッダです。CygwinのようなPOSIXレイヤーは、おそらくアプリをコンパイルする際に #include <pthreads.h> .

Windows ネイティブのスレッド API は #include <windows.h> であり、Linuxのスレッドとは若干異なる動作をします。

それでも、代替となる "glue" ライブラリが、以下のサイトでメンテナンスされています。 http://sourceware.org/pthreads-win32/ MinGW/VSと若干の非互換性があることに注意してください。 こちら ).