Page Top

ライセンス anchor.png Edit

[[Public Domain>Wikipedia:パブリックドメイン]]

Page Top

インストール anchor.png Edit

Page Top

手動インストール anchor.png Edit

  1. 必要なもの
    trunk_win32-rXXX.zip
    XXXの部分はリポジトリのリビジョンです。最新のもので良いでしょう。公式ページからダウンロードします。download a snapshot of latest revision in SVN (.zip)です。
    もちろん、svnのリポジトリをチェックアウトしてもOKです。
    svn co http://svn.dsource.org/projects/bindings/trunk/win32 win32

    GNU Make
    SourceforgeのMinGWのmakeからダウンロードしましょう。最新のものでいいと思います。mingw32-make-3.81-20080326-3.tar.gzなど。既に持っている場合は不要。

  2. trunk_win32-rXXX.zipを解凍します。
    • <解凍先>/trunk/win32というフォルダが解凍されます。

  3. mingw32-make.exeをgmake.exeとでも名前を変えてdmd.exeと同じフォルダか、<解凍先>trunk/win32の中に放り込みましょう。もちろん、すでにGNU Makeを使用しているのであればこの作業は不要です。
  4. ソースコードの修正 そのままコンパイルするとエラーが発生するため、いくつかコードを修正する必要があります
    1. makefile 25行目、importの設定のため、 -I.. をつけて正しくimportされるようにする必要があります。
      	$(DC) -I.. $^ -lib -of$@ $(DFLAGS)
    2. rpcnsi.d
      昔は引数にinoutを使うことができましたが、今はrefを使います。
      54行目のinoutをrefに直しましょう。
          //RPC_STATUS RpcNsEntryObjectInqDone(inout RPC_NS_HANDLE*);
          RPC_STATUS RpcNsEntryObjectInqDone(ref RPC_NS_HANDLE*);
    3. winsock2.d
      同様にinoutをrefに変更します
      136行目にinoutが存在するので、書き換えましょう。
      //void timerclear(inout TIMEVAL tvp) {
      void timerclear(ref TIMEVAL tvp) {
          tvp.tv_sec = tvp.tv_usec = 0;
      }
    4. winldap.d
      昔はデフォルトでprintfが使えましたが、今は使えません。したがって、使えるようにしてやる必要があります。具体的には
      private extern (C) int printf(in char* format, ...);
      の一行を ldap_perror 関数の上あたりに追加すればよいでしょう。
    5. directx/d3d10effect.d
      enumの前方参照でエラーのツッコミを受けます。 以下の3行を削除しましょう。
      // some forward references...
      enum D3D10_SHADER_VARIABLE_CLASS;
      enum D3D10_SHADER_VARIABLE_TYPE;
    6. directx/d3d10shader.d
      enumの前方参照でエラーのツッコミを受けます。 以下の3行を削除しましょう。
      // some forward references...
      enum D3D10_PRIMITIVE_TOPOLOGY;
      enum D3D10_SRV_DIMENSION;
    7. directx/d3d10.d
      enumの前方参照でエラーを回避するために、importの位置を変更する必要があります。(dmdのバグかなぁ) 具体的には、以下の2つのimport文を、ファイルの末尾(IID_ID3D10Multithreadの宣言の下)に持っていきます。
      public import win32.directx.d3d10shader;
      public import win32.directx.d3d10effect;
      また、定義のミスも修正します。1120行付近の、ClearRenderTargetViewの引数が間違っているので修正します。
      //void ClearRenderTargetView(ID3D10RenderTargetView pRenderTargetView, FLOAT[4] ColorRGBA);
      void ClearRenderTargetView(ID3D10RenderTargetView pRenderTargetView, FLOAT[4]* ColorRGBA);
  5. コンパイルします。<解凍先>/trunk/win32 にて、以下ののコマンドを実行してwin32.libを作成しましょう。
    1
    
    gmake
    注意点としては、 dmd.exe にパスが通っていなければなりません。
    Pathの通し方を参考にするとよいと思います。
  6. その後、gmake.exeは削除して構いません。
  7. <解凍先>/trunk/win32 のフォルダを <dmd_dir>/import/win32 や <dmd_dir>/src/win32 など、importディレクトリに放り込みましょう。
    わかりやすいところで、object.diがあるところなどが良いかもしれません。
  8. 以上です。
Page Top

dsssでのインストール anchor.png Edit

dsssには現在対応していません

Page Top

使用方法 anchor.png Edit

win32.libを使用します。

HowTo​/スタティックリンクライブラリを使う

Page Top

逆リンク anchor.png Edit

Page Top

投票とコメント anchor.png Edit

選択肢 投票
大変参考になった3  
参考になった0  
あまり参考にならなかった0  
まったく参考にならなかった0  

コメントはありません。 コメント​/Libraries​/Bindings for the Windows API編集

お名前:

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 1346, today: 2, yesterday: 1
初版日時: 2010-02-03 (水) 23:14:32
最終更新: 2010-02-03 (水) 23:14:32 (JST) (2786d) by SHOO
メインメニュー

ログイン

ユーザー名:


パスワード:





パスワード紛失  |新規登録

Menu