• ベストアンサー

「インクルードファイル 'pthread.h' をオープンできない」というエラー

今簡単なサーバ・クライアントシステムをつくっていて、大まかな骨組みはできました。 で、骨組みができたところで先生が、「並列処理を可能にするため、スレッドを使ってみましょう。スレッドについては次回までに各自勉強してきておいてください。」といったので、帰ってからインターネットで調べてみた結果、マルチスレッドの例みたいなプログラムのソースをいくつか見付けました。 私はスレッドというものを全く知らなかったので(というかそもそもC言語についてもそれほど詳しくないのですが)、とりあえずそのソースをコピーしてどのような動作をするのか確認しようと思いました。 ところがコンパイルするときに、 「インクルードファイル 'pthread.h' をオープンできない」 というエラーがでてきてしまうのです。 ちなみに家で使っている CPad for Borland C++Compiler と、 学校で使っている Microsoft Visual C++ (だったかな?) の両方でコンパイルしてみましたが、両方とも同じエラーが起こります。 どうすればいいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • momoturbo
  • ベストアンサー率55% (49/88)
回答No.1

自信ないのですが pthread.hってUNIX系だと 思うのですが・・ windowsにはないと思います。 参考にされているWEBがUNIX/LINUXとかいてありませんでしたか? もしくはコンパイルに $cc XXXX $gcc XXX みたいになっていなっかたでしょうか? windows用は参考URLをどうぞ

参考URL:
http://www.katto.comm.waseda.ac.jp/~katto/Class/GazoTokuron/code/thread.html
secret-goo
質問者

お礼

pthread.hってUNIX系なんですか・・・すいませんでした、知識不足で。 参考URLとっても役に立ちました。 ありがとうございました。

その他の回答 (3)

回答No.4

すいません質問をよく見てませんでした。 Windowsなら、process.hをインクルードして、_beginthreadや_endthreadを使うか、windows.hをインクルードして、CreateThreadやExitThreadを使います。

secret-goo
質問者

お礼

回答ありがとうございました。

回答No.3

BCC++の場合、マルチスレッドのコンパイルは、-WM オプションが必要です。 CPadは使ったことがないのでよく分かりませんが、どこかのメニューで設定できるかもしれません。

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.2

pthread.hはUNIX系のスレッドで使います。 Windowsではスレッドを作る場合 CreateThreadや_beginthreadというAPIや関数を使います。 どうしてもそのソースをWindows上でコンパイルしたいなら cygwin(Windows上のUNIX環境)をインストールし gcc(C++コンパイラ)でコンパイルしてください。

secret-goo
質問者

お礼

回答ありがとうございました。

関連するQ&A