• ベストアンサー

OpenThread

Windows 2000でOpenThreadというAPIを使いたいのですが、ヘッダにもlibファイルにも情報がないらしく、コンパイルできません。 これに対応しているヘッダとlibファイルはどうすれば手に入るでしょうか。

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

  • ベストアンサー
  • akinori_s
  • ベストアンサー率60% (21/35)
回答No.3

MSDNにはOpenThreadは危険なんでLIBから削除しますみたいな事書いてありますね... とりあえず今環境が無いので確かめれないんですけど、LIBを使わないで 動的に関数を呼び出してみたらどうでしょう。 ヘッダに定義されてないだけならなんとかなると思います。 駄目だったら・・・ごめんなさい 一応動的に呼び出すURLを乗せておきますので参考にしてください。

参考URL:
http://msdn.microsoft.com/code/default.asp?url=/msdn-files/026/001/699/Source%20Files/Win32Objects_cpp.asp
haporun
質問者

お礼

そういえば、LoadLibraryとかありましたね。 参考URLにあるような、定義済みクラスは嫌いなので、ほかの方法を試してみようと思います。 ありがとうございました。

その他の回答 (2)

  • zerosix
  • ベストアンサー率31% (47/149)
回答No.2

http://support.microsoft.com/default.aspx?scid=kb;en-us;Q121093 に次の文があります。 OpenThread() is exported by KERNEL32.DLL, but is not included in any of the SDK import libraries. ...どうも提供されていないようですよ。

haporun
質問者

お礼

うーむ、それは残念です。 あきらめてVBで使うことにします。

  • zerosix
  • ベストアンサー率31% (47/149)
回答No.1

下記のURLに記述しているヘッダにもlibファイルは調査されたということですよね?

参考URL:
http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_openthread.htm
haporun
質問者

お礼

すみません、どういうことですか? winbase.hにプロトタイプが載っていないので、無理やりMSDNライブラリを見てプロトタイプを書いたのですが、kernel32.libにリンク情報がないらしいので、新しいヘッダとライプラリファイルを入手したいのですが、これは入手できないのでしょうか?

関連するQ&A

  • マルチディスプレイモニタのWin32APIについて

    いつもお世話になっております。 現在マルチモニタ環境でのダイアログボックスの表示位置の制御を試みております。 しかしVC6.0sp5(sp6も同様)の環境でマルチモニタのAPIを使用するとコンパイルは通るのですがビルドの段階で、 「sample.obj : error LNK2001: 外部シンボル "_xEnumDisplayMonitors@16"は未解決です」 というエラーが出てしまいます。 他のマルチモニタのAPIについても同様です。 自分では、 ・libファイルのインクルードの確認 ・ヴァージョンの確認 ・ヘッダファイルとlibファイルのヴァージョンの確認 ・ヘッダファイルの中身の確認 はしました。 (特に問題はなさそうなのですが・・) しかしそれでも解決できていません。 解決策はどのようなものがあるかご教授願います。 マルチモニタの環境はWindows XP sp1です。

  • cygwinでopenGL

    cygwinでopenGLが出来ません>< まず、私がやった設定を書いてみます。 学校で使用している教科書に指定されているように、 実行用DLLファイル[opengl32.dll][glu32.dll][glut32.dll]の3つを\WINDOWS\system32に入れました。(glut32.dll以外は元々ありました) ヘッダファイル[gl.h][glu.h][glut.h]の3つを\cygwin\usr\include\w32api\GLに入れました。(glut.h以外は元々あり、[glext.h]というのもありました) 開発ライブラリとして[opengl32.lib][glu32.lib][glut32.lib]を入れるように書いてあり、入れる場所はおそらく\cygwin\lib\w32apiだと思うんですけど、[libopengl32.a][libglu32.a][libglut32.a]なるものが既に存在しました。これは同じ物とみなしてよろしいのでしょうか? 次に、[gcc ●●.c -DWIN32 -lglut32 -lglu32 -lopengl32]とコンパイルしてみた所、エラーが大量に出ました。コンパイル方法が間違っているのでしょうか? 以前にJAVAを学習するときに、環境変数を変えたんですけれど、それが影響しているのでしょうか? 質問多くて、しかもややこしくてすみません。

  • VBで音声再生に関して

    ヘッダ情報のない16_khz,16_bitの音声ファイルをwavへの変換なしで直接取り出して 再生したいのですが、再生するAPIかなにかないでしょうか? メモリー上にバイト型配列でおきwavのヘッダ情報をつけ音声ファイルをくっつける という方法を考えついたのですが それだとPlaySound()APIではメモリー上から呼び出せず困っています。 wavファイルのヘッダ情報についてもわかりません。

  • windowsでLinuxで作成したソースをコンパイル

    Linuxで作成、 $gcc -Wall file.c で、通ったファイルをWindowsでも同様に通したいので、MinGWを使って、コンパイルしたのですが、 #include <sys/socket.h> の構文で引っかかってしまいました。どうやらインクルードファイルが無いようでしたので、 C:\MinGW\include C:\MinGW\lib 以下に、Linuxの /usr/include/ /usr/lib/ 以下のファイルをそのまま入れて、再度実行しました。 ヘッダーファイルは見つけて読んでくれたのですが、そのヘッダーファイルに書いてある関数(例:htons(), socket(), inet_addr(), connect())が参照できないとの事で、怒られてしまいます。 Linuxのライブラリファイルをそのまま入れたのがまずかったのかもしれないのですが、こいつのエラーを解消する有効手段が見つかりません。 問題解決のヒント、又は答えを教えていただけませんでしょうか。 どうか、お願い致します。

  • JavaでAPIのI/Fはどう認識してるのか?

    例えば、C言語だと、 リンクの画面で、.lib を指定したり、 使いたいクラスのヘッダファイルをincludeすることで、 自分が作っているプログラムが、「他のクラスを使える」という状況になると思っています。 で、JAVAでは、 どのような仕組みで、他のクラスや、APIのI/Fを認識しているのでしょうか? 特に、色んなアドオン?API? は、jar提供が多いと思うのですが、 クラスファイルすらないと、I/Fを認識しようにも、認識できないのでは?と感じています。 また、以下の認識は正しいでしょうか? クラスファイルが提供されている場合は、classpathを設定すると、 そのディレクトリ配下のクラスのインタフェースを認識できる。 ※また、できれば、C言語での 「ヘッダファイルをincludeすること」と「リンクの画面で、.lib を指定すること」の意味の違いを知りたいです。 どちらも、「他のクラスのインタフェースを認識するためにすること」であるのに、 どうしてそれぞれが必要なのでしょうか?? .

    • ベストアンサー
    • Java
  • ヘッダーファイル

    初歩的な質問ですが、解答をお願いします。 VCで、簡単なプログラムを組んでいますが、ヘッダーファイルをコンパイルしようとすると… 「sengen.h」に関連したコンパイルツールが無いためコンパイルできません と出てきてしまいます。 どうすれば、ヘッダーファイルをコンパイルできますか?

  •  OpenCV2.1.0でのコンパイルエラーについて、質問があります。

     OpenCV2.1.0でのコンパイルエラーについて、質問があります。  初心者で至らない点があるかと思いますが、ぜひ回答よろしくお願いします。  動画キャプチャを再生するプログラムを作ろうと、DirectXを利用しています。  (Visual C++ 2010 expressを使っています)  インクルードファイルでの<cv.h>や<dshow.h>は、Microsofot windows SDK 6.1  やOpenCv2.1.0をインストールして、VC++ディレクトリ中の   インクルードファイル(*.h)は    c:\OpenCV2.1\include\opencv   ラ イブラリファイル(*.lib)は    c:\OpenCV2.1\lib   ダイナミックリンクライブラリ ファイル(*.dll)は    c:\OpenCV2.1\bin  (これは、”実行可能なファイル"のところへ)  設定して、コンパイルエラーは出ないようになりました。  しかし、   「インクルードファイル(*.h)は  c:\OpenCV2.1\include\opencv」  の処置のおかげで、同一フォルダに入っている   「cxtypes.h」と「cxoperations.hpp」の二つで、下記のようなコンパイルエラーが出ます。   エラーメッセージ > error C3862: /clr:pure または /clr:safe を伴うアンマネージ関数を   コンパイルできません  インラインのネイティブ アセンブリはマネージ コードで   サポートされていません >error C3645: : __clrcall は、ネイティブ コードにコンパイルされた関数  では使用できません  上のエラーから、clrの問題と考えて、.NET .Freamework 4.0(x68)を  新しくインストールしましたが、上のエラーが解決せず、コンパイルできません。  VC++ディレクトリ中のリンカーは、     strmiids.lib     cv.lib     cxcore.lib     highgui.lib     dxerr.lib     dxguid.lib     d3dx9.lib     d3dx10.lib     d3d9.lib     winmm.lib     comctl32.lib     strmbase.lib  にしました。  コンパイルエラーを解決する方法をご教示くださると、大変幸いです。  よろしくお願いします。

  • スタティックライブラリファイル作成時のデバッグセッションの実行可能ファイル

    VisualC++2008ExpressEditionを使用しています。 スタティックライブラリファイルを作成しようとしているのですが、コンパイルしようとすると、「デバッグセッションの実行可能ファイル」というタイトルのウィンドウが現れ、「デバッグで使用する実行可能ファイル名を指定して下さい。」と出てきます。 libファイルはdllと違いコンパイル時に読み込まれてしまうため、テストしたかったら、EXEファイルをコンパイルして作り直さないといけないと思うのですが、ここでいうデバッグで使用する実行可能ファイルとは、どの様なファイルを指しているのでしょうか? 宜しくお願いします。

  • Cygwinをいれました

    アルサイトからいれました、でもヘッダファイルがなくてgcc でコンパイルすると #include <stdio.h> #include <math.h> などで引っかかってコンパイルがとおりません。ヘッダファイルだけ欲しいのですが、どっからとってこれませんか?

  • BCCでコンパイルする際に静的リンク指定が無視される

    GLUTを使用したCプログラムをBCCでコンパイルしたのですが、実行ファイルが生成されてもライブラリが静的リンクされません。 コンパイルオプションとして、 > bcc32 *.c glut32.lib glu32.lib winmm.lib とlibファイル名のリストを与えているのですが…… 当然ながら、bcc32.cfgとilink32.cfgの環境変数でlibファイルへのパスは与えてあります。